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

VivenZZ
88 声望0 粉丝