toPrimitive方法使用


toPrimitive方法對於不同類型的返回結果

   1基本類型直接返回,基本類型的值

    2對象,  a如果對象的ValueOf方法的結果是原始值,返回原始值。

                   b如果對象的toString方法返回原始值,就返回這個值;

                   其他情況都返回一個錯誤

   用例子來驗證一下結果,首先我們知道下面的代碼輸出true(字符串長度大於1);

  console.log('packet'?true:false)

  那么這行代碼結果呢?

  console.log('packet' == true)

  輸出是false,為什么會這樣呢?

  1首先,布爾值會被toNumber方法轉成數字,因此得到packet == 1

  2其次,用toNumber轉換字符串。因為字符串包含有字母,所以會轉成NaN,

  表達式就變成了NaN == 1,結果就是false.

  那么這行代碼的結果呢?

  console.log('packet' == false)

  輸出也是false.步

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM