我偶然发现了一些javascript语法似乎应该产生某种类型的解析错误但不会:
if (true, true) {console.log('splendid')} else {console.log('horrid')} // splendid
if (true, false) {console.log('splendid')} else {console.log('horrid')} // horrid
Run Code Online (Sandbox Code Playgroud)
虽然所有表达式都被执行,但似乎只有最后一个表达式会影响逻辑:
if (console.log('super'), true) {console.log('splendid')} // super splendid
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么这是有效的JavaScript语法?它有什么实际用途吗?