在Javascript中,+
操作符有两种作用:数学加法和字符串拼接。当一个操作数是对象时,会经过类型转换将其转换为字符串。
在{} + [] == [] + {}
中, {}
是一个空对象,[]
是一个空数组,两个对象相加时会进行数学加法运算。因为空数组可以被转换成数字0,因此这个表达式等价于 0 + 0
,结果为0。
在另外一个例子 [] + {} == {} + []
中,两个空对象会被转换为空字符串,因此等式两边都是空字符串(""
),结果为true
。
在Javascript中,+
操作符有两种作用:数学加法和字符串拼接。当一个操作数是对象时,会经过类型转换将其转换为字符串。
在{} + [] == [] + {}
中, {}
是一个空对象,[]
是一个空数组,两个对象相加时会进行数学加法运算。因为空数组可以被转换成数字0,因此这个表达式等价于 0 + 0
,结果为0。
在另外一个例子 [] + {} == {} + []
中,两个空对象会被转换为空字符串,因此等式两边都是空字符串(""
),结果为true
。