ily*_*oli 3 javascript comparison logic comparison-operators
我在控制台中有这个输出:
console.log((!undefined)==(!false)) // true (fine)
console.log((!!undefined)==(!!false)) // true (still fine)
Run Code Online (Sandbox Code Playgroud)
据我所知,!!x==x不是吗?
console.log((undefined)==(false)) // false
Run Code Online (Sandbox Code Playgroud)
谁能告诉我为什么这会返回错误?
是不正确的!!false==false和!!undefined==undefined?
是. !!x并没有返回X. 如果我们使用C++强制转换表示法,则!undefined 强制 undefined 转换为布尔值,false然后查找!((bool)undefined)= !false.所以!!undefined给出!!((bool)undefined)= !!(false)= !true= false,而不是undefined.
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |