起因:1+‘’为字符串,今天偶然看见1/''类型数据为数字,与1+‘’输出不一致,遂查资料.
经查询发现,加减乘除运算符中,就加号情况较为复杂,其余运算符都会把计算的主体转换为数字后再进行计算,加号规则如下:
1.双数字计算结果为数字
2.数字加NaN结果为NaN
3.字符串与其他类型计算结果为字符串,例子:let a=1+'123';typeof(a)输出为字符串
4.单独的加号运算符可以将其他类型转为数字,例子:let a=+‘123’;typeof(a)输出为数字
5.数字与对象或数组相加,若对象或数组存在toString()方法,则会对象或数组优先转换为字符串,然后遵循第三条规则。
目前查到的规律就是这些,如果结论存在错误或不足之处,望留言指正,谢谢。