对JS中“+”操作符的理解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csu_passer/article/details/83828548

Questions

你觉得下面这些会输出啥呢?

1 + '1' ;
[1, 2] + [2, 1] ;
{}+[];
[]+{};
[]+[];
{}+{};

The Answers

tips

只有当加法运算时,其中一方是字符串类型,就会把另一个也转为字符串类型。其他运算只要其中一方是数字,那么另一方就转为数字。并且加法运算会触发三种类型转换:将值转换为原始值,转换为数字,转换为字符串。

2018.11.23修改:{}+[];输出“0”是因为前面的空对象被解析成了空代码块,于是原式可化成+[]--->0

'11'
'1,22,1'
0
"[object Object]"
""
"[object Object][object Object]"

猜你喜欢

转载自blog.csdn.net/csu_passer/article/details/83828548