按优先顺序来套用:
1,如果操作数里有一个是对象,对象会被转换成原始值(例如:[1,2] => ‘1,2‘,{} => ‘[object object]‘, new Date() => Fri Jun 22 2018 09:49:28 GMT+0800 (中国标准时间));
2,如果操作数里有一个是字符串,其他的值将被转换成字符串;
3,其他情况,操作数转换成数字执行加法运算。
栗子:
1+ ‘2’ ?// ?‘12‘[1,2]+3 ?// ?‘1,23‘2 + true ??// ?311 + {} ?// ?‘11[object object]‘2 + null ?// ?2‘aa‘ + null ?// ?‘aanull‘11 + undefined ?// ?NaN
一次搞懂js的加法运算规则
原文地址:https://www.cnblogs.com/easonw/p/9212243.html