【问题标题】:javascript: What is a NOT NOT? (!! operator ) [duplicate]javascript: 什么是 NOT NOT? (!!运算符)[重复]
【发布时间】:2011-07-21 06:06:23
【问题描述】:

可能重复:
What is the !! operator in JavaScript?

什么是 not not in javascript 我已经看过几次了 :)

function foo(){
    return !!(window.history);
}

【问题讨论】:

  • 它是重复的,但是那个重复的问题几乎没有提到为什么要使用它。在您的情况下,它是the bottom answer:检查“已定义”是一个习惯用法。
  • @rup 我同意那里的答案很古怪,我不明白其中一半的答案和他们的技术 BS,他们应该对他们的答案更加友好,而不是假设每个人都在他们的水平:) 特别是当有人问:)
  • 这个问题的标题比重复的更容易找到

标签: javascript operators comparison-operators


【解决方案1】:

我相信它用于强制布尔类型...

例如

if("true" == true){
    alert("1");
}else{
    if(!!"true" == true){
        alert("2");
    }
}

警报 2 而不是 1

【讨论】:

  • 这太糟糕了。试试if(!!"false" == true) { alert("false"); } 看看会发生什么。
  • 我没有说你应该使用它
【解决方案2】:

我认为它过去 [不是这样] 隐式地将值转换为布尔类型

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2020-08-09
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多