有什么用!!在JavaScript中
可能重复:有什么用!!在JavaScript中,javascript,Javascript,可能重复: 我刚刚遇到了使用的代码,这对我来说意味着不符合逻辑 app.isArray = Array.isArray || function(object) { return !!(object && object.concat && object.unshift && !object.callee); }; 使用有什么不同之处而不使用它 (我的猜测是,!!将结果转换为布尔类型。如果我的猜测是正确的
我刚刚遇到了使用
的代码代码>,这对我来说意味着不符合逻辑
app.isArray = Array.isArray || function(object) {
return !!(object && object.concat
&& object.unshift && !object.callee);
};
使用有什么不同之处代码>而不使用它
(我的猜测是,!!
将结果转换为布尔类型。如果我的猜测是正确的,为什么会这样?!!只需将内容转换为布尔值即可。以下是一些例子:
!! true === true
!! false === false
韦斯利·默奇已经发布了一个复制品的链接。那么为什么要发布答案呢?我在看到评论之前在手机上写下了答案。谢谢。现在我知道了!(sth)将始终返回布尔类型false(sth为true)!(!某事物)然后将假变真。:)请注意,在您的示例中“代码>是冗余的,因为操作数已经是布尔数了……重复项不能回答OP的问题。干得好,雷基尔提供了答案。@WesleyMurch谢谢。”。我试着搜索它,但没有找到。也许我需要改进我的搜索关键字。:)不,很难找到那样的东西。我找到它的唯一途径是通过这里:(请大家自由投票!!!)卫斯理默奇再次感谢。这个链接真的很有用。