前端面试题之JS基本数据类型及判断

前端面试题之JS基本数据类型及判断

JS基本数据类型有:
Number
String
Boolean
Undefined
Object(Array,Function)
Null
Symbol(ES6新增)

其中Array,和Function是Object的子集。
判断Number,Boolean,Undefined,Object,Function直接用typeof:

console.log(typeof 1); //number
console.log(typeof true); //boolean
console.log(typeof undefined); //undefined	
console.log(typeof {}); //object
console.log(typeof console.log); //function

判断Array不能用typeof,因为:

console.log(typeof [1,2,3]); //object

所以要用以下方法判断:

console.log([1, 2, 3] instanceof Array); //true
console.log([1, 2, 3].constructor); //ƒ Array() { [native code] }
console.log(Object.prototype.toString.call([1, 2, 3])); //[object Array]
console.log(Array.isArray([1, 2, 3])); //true    *IE8不兼容

判断String不能用typeof,因为:

console.log(typeof '123'); //string
console.log(typeof new String('123')); //object

所以要用:

console.log(new String('123') instanceof String); //true

判断Null用===:

console.log(null === null); //true

猜你喜欢

转载自blog.csdn.net/qq593249106/article/details/83069736