JS运算规则问题-下

JS运算规则问题(下)


问题:请回答下图中最后输出结果为什么是false和1?

Question

想知道第一个输出结果为什么是false,请看这篇文章

http://www.bit100.com/js运算规则问题上/

二、为什么[]?1:0输出结果为1?

想知道为什么输出结果为1,那么需要先弄明白JavaScript三元运算符的实现标准。别怕,抓紧我的手,我带你装逼。

三元运算符的运算规则是先判断问号?左边的表达式为true还是false,如果为true,则输出1,反之输出0。因此先把[]转换成Boolean类型,下面是标准。
ToBoolean

很明显,由于[]是数组,类型为Object,因此直接返回true

所以[]?1:0的输出结果当然就是1了。

本文总阅读量