【发布时间】:2015-12-20 14:24:49
【问题描述】:
如果我写如下代码:
" \t\r\n" == 0
JavaScript 将返回 true。但是,如果我手动将这两个值都转换为布尔值,那么:
!!" \t\r\n" // returns true
!!0 // returns false
这意味着 JavaScript 在第一个表达式中表示 true == false,但如果我比较转换为布尔值的值,则相反,这对我没有任何意义。
请注意,我写的不是!!"0",而是!!0——差别很大。
【问题讨论】:
-
这不能回答我的问题。我这里不使用 === 运算符
-
是什么让你认为 javascript 应该将这两个值都转换为布尔值?
-
Noooo,这意味着它将两个值转换为相同类型,而不是布尔值。
标签: javascript