如题,此表达式中+是转换为数字,!是取非,但是{}[true]是什么意思?
!{}得到的是false,+是用来转换为数字的,false为0,[]数组内只要不为空都为true,所以结果为1
我认为这个表达式的求值过程分解如下:(1){}[true];//undefined (2)!{}[true];//true (3)+!{}[true];//1
在此页 按F12,在console输入“+!{}”、“+”、“+!”结果都是0;“+!{}[true]”、“+!{}[1]”、“+[1]”、“+!{}[false]”结果都是1."!{}"是false,“!{}[true]”是true,“+!{}[true]”相当于“+true”结果是1