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