JavaScript中 typeof 和 instanceof 区别
这属于js基础知识,正因为太基础,所以很容易被忽略,导致项目中随处可以见的滥用。
一、typeof
typeof 其实就是判断参数是什么类型的实例,就一个参数,用例:typeof a。
返回值:"number"、"string"、"boolean"、"object"、"function" 、 "undefined"。
typeof 12; // number
typeof 'gym'; // string
typeof !!’0’; // boolean
typeof new Function(); // function
typeof something; // undefined
这里扩展一下,用 typeof 判断变量是否存在:
if(!type) return; //此时若type未定义,将报错:type is not defined
if(typeof type === 'undefined') return; //此方法较严谨,能避免异常
用 typeof
来判断引用类型:
let arr = [1,2,3];
let people = {name: 'gymMan'};
let obj = null;
typeof arr; // object
typeof p