toString 和 valueOf的不同
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 = 0console.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]
- valueOf 将对象转换成原始值(数字、字符串、布尔)
- 两个办法,个别都不会显示调用,二十隐式调用
- 在数值运算中,个别会先调用valueOf
- 在字符串运算中,个别会先调用toString