关于js中==判断的疑问。

在学习js的一些知识点的时候,看到==判断相等一块,判断 x == y,有这么一句话:
“如果Type(x)是布尔值,返回ToNumber(x) == y的结果。”
这里ToMumber(x)得到的是什么?

阅读 2.5k
4 个回答

显然是数字,是0(false)或1(true)
仅对 boolean值来说,
toNumber = (x)=>x?1:0;

是数字啊 不然会是什么

得到一个跟y相等的数字

1 == true
0 == false
'1' == true
'0' == false
!'0' == false
'0' == 0

以上返回全是true。可以发现,当 '0' 和 false 比较时,false => 0 所以 0 == '0' 所以 false == '0'

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题