javascript判断类型
javascript判断类型
typeof运算符
typeof "a"; // "string"
typeof a; // "undefined" 未声明变量
typeof 1; // "number"
typeof function () {}; // "function"
typeof (() => {}) // "function"
typeof (function() {})(); // "undefined"
typeof (() => {})(); // "undefined"
typeof undefined; // "undefined"
typeof null; // "object"
typeof []; // "object"
typeof {}; // "object"
通过上面的例子可以看出typeof运算符可以判断出除了null、array外的基本类型,IIFE则以return的值为准,无return语句就是默认return了undefined
instanceof运算符
instanceof运算符用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置,这样就可以区分Array与Object
const arr = [];
arr instanceof Array; // true
constructor属性
还有一种方法就是利用对象的constructor属性,也可以区分Array和Object
const arr = [];
arr.constructor === Array; // true
ES6中新增了Array.isArray()方法来判断是否为数组
const arr = [];
Array.isArray(arr); // true