zoukankan      html  css  js  c++  java
  • 对象的隐式类型转换

    对象的隐式转换

    • 只有在 JavaScript 表达式或语句中需要用到数字或字符串时,对象才被隐式转换。 当需要将对象转换成数字时,需要以下三个步骤:

    • 调用 valueOf()。如果结果是原始值(不是一个对象),则将其转换为一个数字。
      否则,调用 toString() 方法。如果结果是原始值,则将其转换为一个数字。
      否则,抛出一个类型错误。
      第一步示例:

    > 3 * { valueOf: function () { return 5 } }
    15
    
    • 第三步示例:
    > function returnObject() { return {} }
    > 3 * { valueOf: returnObject, toString: returnObject }
    TypeError: Cannot convert object to primitive value
    
    • 如果把对象转换成字符串时,则转换操作的第一步和第二步的顺序会调换: 先尝试 toString() 进行转换,如果不是原始值,则再尝试使用 valueOf()。
  • 相关阅读:
    006 date find
    005 输出重定向 > >>命令 echo命令 tail命令
    总结,一周,
    mokey 学习
    树状,
    定制,
    萌芽,
    到底为什么,
    会,
    “恋爱”,一路走来,
  • 原文地址:https://www.cnblogs.com/angle-xiu/p/14173100.html
Copyright © 2011-2022 走看看