JavaScript中的!==运算符是什么?

时间:2015-12-04 20:37:28

标签: javascript operators

正如问题所说,!==运算符的功能究竟是什么? ( Exclaimation,Equals,Equals )。

是的,有两个相同的标志。我找到了here

function endsWith(str, suffix) { 
    return str.indexOf(suffix, str.length - suffix.length) !== -1;  
}

这是一个错字吗?我对此表示怀疑。这是一个很老的帖子,有这么多的赞成,它肯定会在一天或另一天得到纠正。

或者它是一个有效的运营商?如果是这样,它会做什么?

2 个答案:

答案 0 :(得分:2)

严格不等式a !== b iff类型(a)≠类型(b)或ab

由于严格相等===)被定义为:

  • a === b iff类型(a)=类型(b)∧a = b

严格的不平等是否定的,所以:

  • !(a === b)
  • !(类型(a)=类型(b)∧a = b
  • ≡(类型(a)≠类型(b)∨ab)。

参考文献。比较的语义在ES6规范的#strict-equality-comparison中。

Ack。感谢zerkms进行更正:首先评估类型。这很重要,因为如果类型不匹配,甚至不会检查不等式。还要感谢他将我指向规范中关于语义关系的正确位置。

答案 1 :(得分:1)

有效。它基本上是进行严格的非平等比较。检查类型是否与值不相等。