双重感叹号操作符和Boolean()在JavaScript中有什么区别?

8
我知道 !!variable 会将变量转换为布尔值,根据 ecma262 规范,函数 Boolean() 也会通过调用 ToBoolean(value) 进行类型转换。
我的问题是:它们有什么区别?!! 在性能上比 Boolean() 好吗?

没有 ToBoolean(var),只有 Boolean(var) - sachleen
4
@sachleen,我认为他指的是ECMA规范的部分内容。 - alex
我的猜测是:没有任何区别,性能差异可以忽略不计。但很快就会有人带来一些数据。 - Matchu
1个回答

9

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接