正如问题所说,!==运算符的功能究竟是什么? ( Exclaimation,Equals,Equals )。
是的,有两个相同的标志。我找到了here。
function endsWith(str, suffix) { return str.indexOf(suffix, str.length - suffix.length) !== -1; }
这是一个错字吗?我对此表示怀疑。这是一个很老的帖子,有这么多的赞成,它肯定会在一天或另一天得到纠正。
或者它是一个有效的运营商?如果是这样,它会做什么?
答案 0 :(得分:2)
严格不等式:a !== b
iff类型(a
)≠类型(b
)或a
≠b
。
由于严格相等(===
)被定义为:
a === b
iff类型(a
)=类型(b
)∧a
= b
,严格的不平等是否定的,所以:
!(a === b)
!
(类型(a
)=类型(b
)∧a
= b
)a
)≠类型(b
)∨a
≠b
)。参考文献。比较的语义在ES6规范的#strict-equality-comparison中。
Ack。感谢zerkms进行更正:首先评估类型。这很重要,因为如果类型不匹配,甚至不会检查不等式。还要感谢他将我指向规范中关于语义关系的正确位置。
答案 1 :(得分:1)
有效。它基本上是进行严格的非平等比较。检查类型是否与值不相等。