壹題git
第 116 題:輸出如下代碼運行結果
1 + '1'
2 * '2'
[1, 2] + [2, 1]
'a' + + 'b'
複製代碼
加法運算符的做用是數值求和或者字符串拼接。只要有一個操做數是字符串,即爲字符串拼接。github
1 + '1' // '11'
複製代碼
乘法運算符的結果是操做數的乘積。故對操做數進行 ToNumber 類型轉換。spa
2 * '2' // 4
複製代碼
兩個對象的值進行 + 運算符,確定要先進行隱式類型轉換爲原始類型才能進行計算。code
[1, 2] + [2, 1] // '1, 22, 1'
複製代碼
一元正號運算符位於其操做數前面,計算其操做數的數值,若是操做數不是一個數值,會嘗試將其轉換成一個數值。 儘管一元負號也能轉換非數值類型,可是一元正號是轉換其餘對象到數值的最快方法,也是最推薦的作法,由於它不會對數值執行任何多餘操做。它能夠將字符串轉換成整數和浮點數形式,也能夠轉換非字符串值 true,false 和 null。小數和十六進制格式字符串也能夠轉換成數值。負數形式字符串也能夠轉換成數值(對於十六進制不適用)。若是它不能解析一個值,則計算結果爲 NaN。對象
'a' + (+ 'b') // 'aNaN'
複製代碼