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