JavaScript中常见的数据类型
基本数据类型:String、Number、Boolean、undefined、Null
引用数据类型:Obejct、Array、Function
判断的方法有:
1.typeof:可用于判断String、Boolean、Number、Function、undefined。
不能判断:Null、Object、Array。
2.instanceof:用于判断引用数据类型的具体类型。
3.===: 可用于判断null和undefined。
4.Object.prototype.toString.call():用于判断所有的数据类型
typeof:
let s = 55;
console.log(typeof s);//number
let str = "dmjn"
console.log(typeof str);//string
let und = undefined;
console.log(typeof und);//undefined
function fn() {
console.log("ajj");
}
console.log(typeof fn);//function
//不能判断null、Object、Array:
let a = null;
let b = [1, 2, 3];
let obj = { name: "Tom" };
console.log(typeof null);//输出 object
console.log(typeof obj);//输出 object
console.log(typeof b);//输出 object
instanceof:
{
let obj = { name: "Tom" };
let arr = [1, 2, 3];
function fn() {
console.log("哈哈");
}
//A instanceof B,是判断A是不是B的实例,返回值是true和false
console.log(obj instanceof Object);//返回 true
console.log(arr instanceof Array);//返回 true
console.log(fn instanceof Function);//返回 true
}
===:可用于判断undefined、null的数据类型判断。
{
let a;
let b = null;
console.log(a === undefined);//输出 true
console.log(b===null);//输出 true
}
Object.prototype.toString.call():
{
let a = 15;
let b = "abc";
let c = true;
let d = undefined;
let e=null
let arr = [1, 2, 3];
let obj = { name: "Tom" };
function fn() {
console.log("我是函数");
}
console.log(Object.prototype.toString.call(a));//输出 [object Number]
console.log(Object.prototype.toString.call(b));//输出 [object String]
console.log(Object.prototype.toString.call(c));//输出 [object Boolean]
console.log(Object.prototype.toString.call(d));//输出 [object Undefined]
console.log(Object.prototype.toString.call(e));//输出 [object Null]
console.log(Object.prototype.toString.call(arr));//输出 [object Array]
console.log(Object.prototype.toString.call(obj));//输出 [object Obejct]
console.log(Object.prototype.toString.call(fn));//输出 [object Function]
}