1. 程式人生 > >對JS中“+”操作符的理解

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

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]"