2017-07-28 54 views
2

作为Javascript的初学者,我有一个看起来有点奇怪的问题。 我使用外部的lib我在,我发现下面的代码在网络上找到:是否有兴趣使用双布尔否定?

if('useHoles' in c){ 
    this.config.useHoles = !!c.useHoles; 
} 

有没有使用双感叹号的兴趣,或只是一些笨拙的代码?

找不到任何答案,所以我想我可以删除它们,但我想100%肯定。

+1

'!!'将'falsey'和'truthy'变成真正的布尔值。 –

+0

[在JavaScript中使用double not(!!)运算符时可能的重复](https://stackoverflow.com/questions/2174297/when-to-use-the-double-not-operator-in-javascript) –

回答

3

随着双!你强制对象返回的东西是“布尔能够”,即使null或别的东西,可作为布尔truefalse进行评估。