這里有2個我的代碼的例子。第一個例子是:
span class="hljs-variable language_">console. log([4] 10); //"410" //span>。
據我所知,加法運算子只能對數字和字串起作用。所以,首先,[4]應該被轉換為數字或字串。當試圖將一個運算元轉換為原始資料型別時,valueOf()或toString()會運行。默認情況下,valueOf()回傳一個陣列,所以這個方法被忽略了。toString()被呼叫。它將復雜的資料型別轉換為一個字串。這對我來說完全可以理解,但是......
第二個例子中發生了什么?
console。 log(10 - [4]); /6
我不明白,如果這個方法默認回傳一個陣列,那么valueOf()如何將陣列轉化為數字。這里發生了什么?
如果這個方法默認回傳一個陣列,我不明白 uj5u.com熱心網友回復: 它是這樣的:
標籤:valueOf()如何將陣列轉化為數字。
10 - [4]
10 - '4' //陣列到字串
10 - 4 //隱式將所有運算元轉換為帶有減號的數字。
6 // result
