我偶然发现了一些 JavaScript 语法,看起来应该会产生某种解析错误,但实际上却没有:
if (true, true) {console.log('splendid')} else {console.log('horrid')} // splendid
if (true, false) {console.log('splendid')} else {console.log('horrid')} // horrid
尽管所有表达式都被执行,但似乎只有最后一个表达式影响逻辑:
if (console.log('super'), true) {console.log('splendid')} // super splendid
有人知道为什么这是有效的 JavaScript 语法吗?它有什么实际用途吗?
逗号运算符将多个表达式链接在一起,运算结果是最后一个操作数的值。它唯一真正的用处是当您需要发生多种副作用时,例如赋值或函数调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)