Vre*_*nak 5 javascript type-conversion not-operator
除了指示显式转换之外,在JavaScript中使用double not运算符是否有任何优势?它似乎在某些时候,人们喜欢使用double来检查新API的存在,但我从来没有读过任何优势.
if(!!window.File)
// The File API is supported.
else
// Your browser sucks.
Run Code Online (Sandbox Code Playgroud)
我读过的一件事是它是一种简单,模糊的方式来将类型转换为boolean,但是,当在此上下文中使用时,对象将被自动强制转换为boolean,因为我们正在检查它是否已定义.
简而言之,为什么人们会在引擎的顶部进行两次布尔操作?
我真的没有理由像你出现的那样在上下文中做这件事.它不会以任何方式影响结果.
我唯一一次认为这是一个好主意,如果你正在构建一个应该返回一个bool值的函数,你需要从其他值中转换它,例如......
function isNotFalsy(val) { return !!val; }
Run Code Online (Sandbox Code Playgroud)
这个例子可能有点强迫,但你明白了.您总是希望确保返回值是用户期望的类型.
| 归档时间: |
|
| 查看次数: |
714 次 |
| 最近记录: |