JavaScript中的{} + [] == [] + {}是怎么回事?

2 min read

在Javascript中,+操作符有两种作用:数学加法和字符串拼接。当一个操作数是对象时,会经过类型转换将其转换为字符串。

{} + [] == [] + {}中, {} 是一个空对象,[] 是一个空数组,两个对象相加时会进行数学加法运算。因为空数组可以被转换成数字0,因此这个表达式等价于 0 + 0,结果为0。

在另外一个例子 [] + {} == {} + [] 中,两个空对象会被转换为空字符串,因此等式两边都是空字符串(""),结果为true