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

Sor*_*oot 2 javascript operators

我刚刚在其中一个Windows应用商店应用中看到了以下代码行.

if (that.assets[asset].object === null || !!!that.assets[asset].object.canPlayType) {
Run Code Online (Sandbox Code Playgroud)

它使用三重感叹号语法.我做了一些测试(我很确定我错过了什么),结果总是一样的!.我以为这是有点相当于===!==...

任何人都可以解释!!!语法的含义吗?

mea*_*gar 6

我认为它有点等同于===和!== ...

不,这只是三个"不"运营商,"不是不是".

它是相同的!(!(!(x))),并且总是相当于一个!x.

对此毫无用处.!!将任何变量转换为其布尔表示是一种有点神秘的方法,但这!!!只是愚蠢的.你可以将任意数量!的链接在一起,但它对任何东西都没用.

  • 正如我所说,**是没有用**.除了混淆之外,没有任何有效的用途.它总是相当于一个`!`.程序员很傻. (4认同)
  • 这是编码器相当于["更多Cowbell!"](http://en.wikipedia.org/wiki/More_cowbell) (2认同)