我偶然发现了一些 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 语法吗?它有什么实际用途吗?