这是有效的,并返回"10"JavaScript中的字符串(此处更多示例):
console.log(++[[]][+[]]+[+[]])Run Code Online (Sandbox Code Playgroud)
为什么?这里发生了什么?
以下打印'A'按预期方式,因为数据类型不同,因此数组被哄骗为原始形式,false用于空数组.
if ([] == false)
console.log('A');
else
console.log('B');
Run Code Online (Sandbox Code Playgroud)
但是为什么以下代码也打印'A'?
if ([])
console.log('A');
else
console.log('B');
Run Code Online (Sandbox Code Playgroud)