JavaScript 中的双感叹号运算符和 Boolean() 有什么区别?

azt*_*ack 10 javascript

我知道它将!!variable把变量转换为布尔值Boolean(),并且根据 ecma262 规范,函数还将通过调用ToBoolean(value).

我的问题是:有什么区别?!!性能比 Boolean() 更好吗?

ale*_*lex 11

它们是相同的,因为!运算符将在其操作数上进行内部调用ToBoolean(),然后翻转返回值,而运算符将在其参数上进行内部Boolean()调用。ToBoolean()