JS基本有五種簡單數(shù)據(jù)類型:String,Number,Boolean,Null,Undefined。引用數(shù)據(jù)類型:Object,Array,F(xiàn)unction
判斷數(shù)據(jù)類型的方法有以下幾種:
(1)typeof
console.log(typeof 2);? ? ? ? ? ? ? ? // number
console.log(typeof true);? ? ? ? ? ? // boolean
console.log(typeof 'str');? ? ? ? ? ? // string
console.log(typeof undefined);? ? ? // undefined
console.log(typeof []);? ? ? ? ? ? ? // object
console.log(typeof {});? ? ? ? ? ? ? // object
console.log(typeof function(){});? ? // function
console.log(typeof null);? ? ? ? ? ? // object
優(yōu)點(diǎn):能夠快速區(qū)分基本數(shù)據(jù)類型? ?缺點(diǎn):不能將Object、Array和Null區(qū)分,都返回object
(2)instanceof
console.log(2 instanceof Number);? ? ? ? ? ? ? ? ? ? ?// false
console.log(true instanceof Boolean);? ? ? ? ? ? ? ? // false
console.log('str' instanceof String);? ? ? ? ? ? ? ? // false?
console.log([] instanceof Array);? ? ? ? ? ? ? ? ? ? // true
console.log(function(){} instanceof Function);? ? ? // true
console.log({} instanceof Object);? ? ? ? ? ? ? ? ? // true
優(yōu)點(diǎn):能夠區(qū)分Array、Object和Function,適合用于判斷自定義的類實(shí)例對(duì)象? ?缺點(diǎn):Number,Boolean,String基本數(shù)據(jù)類型不能判斷。
