Problem
以下程序输出结果是什么?
console.log(++[[]][+[]]);
Answer
1
首先对[]
进行+
运算,会将[]
强转为数字,Number([])
的结果为0
,所以+[]
结果为0
。
[[]]
为一个二维数组,[[]][0]
即为取二维数组的第一个元素,也就是[]
。
对[]
进行++
操作,同上先转为数字0
,然后进行++
操作,结果为1。
以下程序输出结果是什么?
console.log(++[[]][+[]]);
1
首先对[]
进行+
运算,会将[]
强转为数字,Number([])
的结果为0
,所以+[]
结果为0
。
[[]]
为一个二维数组,[[]][0]
即为取二维数组的第一个元素,也就是[]
。
对[]
进行++
操作,同上先转为数字0
,然后进行++
操作,结果为1。