【JS】原生类型的一些方法处理

1. Object类型

let obj = {
  name: "Lawson",
};
console.log(obj.toString());//'[object Object]'
//返回对象本身
console.log(obj.valueOf());//'{ name: 'Lawson' }'

2. Array类型

let arr = ['Lawson', 'Nion']
//调用this.join()并返回
console.log(arr.toString());//'Lawson,Nion'
//返回数组本身
console.log(arr.valueOf());//▶(2) ["Lawson", "Nion"]

3. Function类型

function foo(){}
//返回函数字符串
console.log(foo.toString());//"function foo(){}"
//返回函数本身
console.log(foo.valueOf());//ƒ foo(){}

4. Date类型

let curDate = new Date();
//返回字符串
console.log(curDate.toString());//Fri Nov 27 2020 23:02:28 GMT+0800 (GMT+08:00)
//返回时间戳(精确到毫秒)
console.log(curDate.valueOf());//1606489348854

5. RegExp类型

var reg = new RegExp(/^abc$/,'ig');
//返回正则表达式字面量字符串
console.log(reg.toString());// "/^abc$/gi"
//返回正则表达式字面量对象
console.log(reg.valueOf());// /^abc$/gi

6. Error类型

var error = new TypeError('aa');
//返回构造函数名 + 错误字符串 组成的字符串
console.log(error.toString());//"TypeError: aa"
//返回错误对象本身
console.log(error.valueOf());///TypeError: aa

参考文献:
https://blog.csdn.net/jhzhahuaiyu/article/details/96188502

你可能感兴趣的:(【JS】原生类型的一些方法处理)