为什么JavaScript"什么都不做"片段void(0)
通常是这样写的?为什么不只是void 0
?是否有任何特殊原因导致0
经常包含在(不必要的)括号中?
MDN says void(0)
相当于void 0
,因为void
是运营商。
这可能与在括号中包含typeof
操作数的混淆相同吗? (比如typeof(value) === 'string'
?)许多人似乎相信void
是一个函数吗?
void(0)
只是评估为undefined
的最小脚本。
但是void 0
实际上是一个字符更短,并且似乎表现得相当,至少在Chrome 43中。
答案 0 :(得分:2)
你是100%正确的。 void
是运算符而不是函数,使用括号不会获得任何结果。就像他写void (0)
(因为0 === (0)
)