24.操作符什么时候用于字符串的拼接

发布时间 2023-07-14 23:19:25作者: 虎虎生威啊

24. + 操作符什么时候用于字符串的拼接?

根据 ES5 规范 11.6.1 节,如果某个操作数是字符串或者能够通过以下步骤转换为字符串的话,+ 将进行拼接操作。如果其
中一个操作数是对象(包括数组),则首先对其调用 ToPrimitive 抽象操作,该抽象操作再调用 [[DefaultValue]],以
数字作为上下文。如果不能转换为字符串,则会将其转换为数字类型来进行计算。

简单来说就是,如果 + 的其中一个操作数是字符串(或者通过以上步骤最终得到字符串),则执行字符串拼接,否则执行数字
加法。

那么对于除了加法的运算符来说,只要其中一方是数字,那么另一方就会被转为数字。