乐趣区

关于前端:toString-和-valueOf的不同

toString 和 valueOf 的不同

  1. toSting 是把一个值或对象,转换成字符串, 也就是除了获取对象返回 [object, Object],函数返回 fun, 日期返回工夫,其余的都是返回文本值,因为 function 数组 和 日期 都重写了 tostring 办法

    console.log('1'.toString())
    console.log('aaa'.toString())
    console.log(function(){}.toString())
    console.log([1,2,4].toString())
    console.log(false.toString())
    console.log(new Date().toString())
    let num = 0
    console.log(num.toString())
    console.log(RegExp.toString())
    console.log({a:1}.toString())
    // 1
    // aaa
    // function(){}
    // 1,2,4
    // false
    // Thu Jul 30 2020 22:24:04 GMT+0800 (中国规范工夫)
    // 0
    // function RegExp() { [native code] }
    // [object Object]
  2. valueOf 将对象转换成原始值(数字、字符串、布尔)
  • 两个办法,个别都不会显示调用,二十隐式调用
  • 在数值运算中,个别会先调用 valueOf
  • 在字符串运算中,个别会先调用 toString
退出移动版