js里强制类型转换推荐使用boolean()还是(!!foo)

life1st
  • 106

图片描述

接手了我司一个多年的项目,第一次见这种操作。刚实习,见识少。

想问的是,这样写符合规范吗?

回复
阅读 1.8k
4 个回答

符合,在js中0,false,“”,null,undefined,NaN都属于假值,通过!!都能转成布尔值false,不过此处推荐写成_dom == null 这样更有语意。

图片描述

《Javascript高级程序设计》第三版
3.5.3布尔操作符

这样写显得简洁。对变量使用非运算符(!),JS要先将其转换为布尔值。通过使用两个非运算符(!),可以允许第一个进行数据类型转换,然后第二个非运算符将生成的布尔值翻转回适当的值。

靠近dom的!会将其转化为boolean,然后再取反

宣传栏