关于Javascript: 为什么使用双重否定

Javascript - Why use a double negation

本问题已经有最佳答案,请猛点这里访问。

在if条件下,何时使用双重否定有意义?我发现这种模式好几次了:

JS

1
if(!!children.length) {   ...}


将普通表达式转换为布尔值是一种常见的方法。它在if语句中实际上没有任何意义,因为它无论如何都将给定表达式评估为布尔值,但在外部很有用。

例如:

1
var isEmpty = !!children.length;