一、数据类型
基本数据类型和引用数据类型
基本数据类型:Number、Null、undifined、BigInt、bool、Symol、String
引用数据类型:Object(Array、Regxp、Date、Math、Function)
二、检测方法
1. typeof
能够检测基本数据类型, null 除外,object中只能检测出function
const a = "wyy"
console.log(typeof a);// string
console.log(typeof null == null); // false
2. instanceof
instanceof能够准确判断出复杂的引用数据类型,但是不能正确判断基础数据类型
const a = "wyy"
console.log(a instanceof String);// false
3. Object.prototype.toString()
const a = "wyy"
console.log(Object.prototype.toString(a)); //[object Object]
console.log(Object.prototype.toString.call(a)); // [object String]
检测数据类型时,要调用call方法,如上图所示。
手写实现能通用检测全局数据类型的方法:
const detectType = (obj)=>{
const o = typeof obj;
if(o!=='object'&& o!=='null'){
return o
}
return Object.prototype.toString.call(obj)
}
console.log(detectType("aaaa"));
三、转换方法
1. 强制类型转换
2. 隐式类型转换