加号可以用于算术加法或字符串拼接。当执行 [] + [] 时,空数组会被转换成空字符串。数组的 toString 方法会返回一个由所有元素组成的逗号分隔的字符串。参考 MDN 文档: 当 JavaScript 将一个数组表示为文本值时或在字符串拼接中引用数组时,它会自动调用 toString 方法。 同样是自动类型转换,这就是为什么 true + true === 2,类型转换也是许多棘手的 JavaScript 测验的基础,比如这个。
toPrimitive()
方法将其转换为字符串而非强制转换成字符串。请参考 EcmaScript 规范。 - Ted Hopp