js中的类型转换

js有5种基本数据类型:Number String Boolean Null Undefinde
一种复杂数据类型 : Object

其他类型转Number类型

['a']:NaN;
[12]:为数字且不能多余1个元素,则直接转number ;否则转为NaN;
null: 0
undefined:NaN;
object:NaN;
NaN:NaN;
''和' ':0;
'aa':NaN;
'12':12;

其他类型转String类型

toString():注:null和undefined没有这个方法
布尔、字符串、数字直接转为string类型,
object转为 [object,Object ]
[12,null,undefined,aa] = 12,,,aa

String():
String(null)=null 、String(undefined)=undefined;
加减操作符:
会像number一样对数值进行转换,然后在操作

加性操作符:(加法、减法)

加法: 如果有一个是字符串,则把另一个转为字符串进行拼接;
如果遇到NaN,则返回NaN;
如果有一个是boolean,Undefined,null,则会调用Number()先转换为数值;
如果有一个是对象,则(有valueOf(),toString(),则调用)转为string,再进行 操作;

减法: 有一个为数字,则另一个也转为数字,
如果遇到NaN,则返回NaN;
如果有一个是字符串,布尔,Undefined,null,则会调用Number()先转换为数值;

关系操作符(比较运算符,返回boolean值)

a:如果2个数是数字则执行数值比较;
b:如果都是字符串则比较字符编码(是比较对应位置上的每个字符的编码);
c:如果一个是数字, 则把另一个转为数字,再进行比较 ;
d:如果是boolean ,则转为数字比较;
e:如果是对象,则调用对象的toString()得到值进行比较,若没有则调用valueOf()比较;

相等操作符(返回boolean值)

相等操作符
a:如果有一个数是number,则另一个转为number类型(包括字符串);
b:null和undefined值相等,且不能转换;
c:如果一个是NaN,返回false;
不等操作符
全等操作符(不涉及类型转换)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容