美文网首页
JS隐式类型计算:!+1, []+{}, {}+[],

JS隐式类型计算:!+1, []+{}, {}+[],

作者: 小妍妍说 | 来源:发表于2019-08-25 22:04 被阅读0次
//如果一个为string,则将另一转换成string,再字符串拼接
//如果对象为{} [] 则将两个转换成字符串string,再拼接
[]+[]          =""
[]+{}          ="[object Object]"
{}+[]          =0     //js把{}当成一个代码块,so:{}+[]=+[]=0 

//js中+和-开头的的变量会被转换成Number类型,不是number类型的会转成NaN
+[]            =0
+{}            =NaN
+""            =0
+"a"           =NaN
{}+{}          ="[object Object][object Object]"
true+true      =2

//先计算第二个操作数,再取非
!+[]          =true   //先计算+[]=0   而!0=true  (非0等于true)
!+1           =false   //非1为false
!+2           =false

//boolen与[]或{}相加时,转换成字符串再拼接
1+[]          ="1"   反之同理
true+[]       ="true"   反之同理
1+{}          ="1[object Object]"
true+{}       ="true[object Object]"
1+{a:1}       ="1[object Object]"

相关文章

网友评论

      本文标题:JS隐式类型计算:!+1, []+{}, {}+[],

      本文链接:https://www.haomeiwen.com/subject/acakectx.html