为什么 1+ +"2"=3?

> 1+ +"2"
< 3

求解这句代码是如何运行的?空格起什么作用?

另外求解 false==null 为什么是 false,这个比较的流程的原理是什么呢?

谢谢~

阅读 4.4k
5 个回答
  1. +"2"转型为2
  2. null==undefined,他们只有这一种关系,和其他都不等。

关键字隐式类型转换

+"2" ===> 2 //一种将字符串转化为数字的写法,然后1+2=3
至于false==null ,你还是看看基础吧

隐式类型转换了解一下.. 可以去看看《你不知道的JavaScript》系列

  1. 空格会被转化成0;
    '2'会被转化成2。
  2. 比较相等性时,布尔值操作数会先转化成数值——false转换为0,true转换为1;
    null和undefined在比较相等性时不会转化成其他任何值。null == undefined返回true, 但是null === undefined会返回false
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题