javascript - '!!!' 语法在 JavaScript 中意味着什么?

标签 javascript operators

我刚刚在 Windows 应用商店应用程序示例之一中发现了以下代码行。

if (that.assets[asset].object === null || !!!that.assets[asset].object.canPlayType) {

它使用三个感叹号语法。我已经做了一些测试(而且我很确定我错过了一些东西),并且结果始终是相同的单个 !。我认为它在某种程度上相当于 ===!==...

谁能解释一下!!!语法的含义吗?

最佳答案

I assumed it was somewhat equivalent to === and !==...

不,它只是三个“not”运算符,一个“not-not-not”。

它与 !(!(!(x))) 相同,并且始终相当于单个 !x

这实际上没有任何用处。 !! 是将任何变量转换为其 bool 表示形式的有点神秘的方法,但 !!! 很愚蠢。您可以将任意数量的 ! 链接在一起,但这没有任何用处。

关于javascript - '!!!' 语法在 JavaScript 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19550294/

相关文章:

javascript - 使用 Javascript 抓取内部 html 标签

javascript - 阻止执行特定的内联脚本标签

javascript - 如何在单个 windows.load 中加入更多功能

javascript - 是什么 !! JavaScript 中的(不是 not)运算符?

c - 三元运算符

c++ - 流插入结合后缀运算符

javascript - EventSource 的响应具有 MIME 类型 ("text/html")不是 "text/event-stream"。中止连接。 header 设置为文本/事件流

javascript - 我如何判断 Realm 是否已成功更新?

c++ - 分隔参数时 "|"(垂直线)运算符的确切功能是什么

C++ 运算符 [] 语法