请问Js有哪些数据类型?
答:Js的数据类型分为两种,分别是基本数据类型和引用数据类型,基本数据类型包括Undefine、String、Symbol、Null、Number、Blooem(简记:YASNB——you are so nb),引用数据类型Object、Array、function等,除了基本数据类型,其他都是引用数据类型。
那么数据类型怎么进行检测呢?
答:可以使用type of,但是它有一点过的局限性,无法具体地去检测是否为Object类型,比如type of null的结果也是Object。那么怎么解决呢,我是直接使用Object.prototype.toString.call(data).sclice(8,-1)进行数据检测的判断,data是需要判断的数据,这里为什么会用到切片函数slice(8,-1),因为不用的话,它默认返回的字符串是"[Object XXX",XXX]是数据的数据类型,但是出来的结果前面多了个Object和一个[]方括号,所以为了得到我们想要的结果,就用slice切片函数截取一下。
数据类型检测代码:
function getType(data){
if(typeof(data)==='object'){
return Object.prototype.toString.call(data).slice(8,-1);
}else{
return typeof(data);
}
}
console.log(getType(null));
结果为Null。