怎样检测数据类型

有些话、适合烂在心里 提交于 2019-11-30 18:23:24

前言: 判断基本类型用: typeof, 判断引用类型用: instanceof

注意:

1. typeof可以当关键字使用, 也可以当函数使用, 它可以检测基本类型, 但无法检测引用类型.

2. instanceof 只能作关键字使用, 可以检测引用类型, 不能检测基本类型.

 

第一步: typeof 的使用方法

typeof 1; // "number";
typeof true; // "boolean";
typeof "hello"; // "string";
typeof []; // "object";
typeof console; // "object";
typeof {}; // "object"

 

注意: 上面的代码告诉我们, typeof只能检测基本类型, 不能检测引用类型(全返回object);

 

第二步: instanceof 的使用方法

instanceof 可以检测引用类型, 其实际含义是: 检测某个实例是否是某个构造函数的实例

console.log([] instanceof Array); // true;
console.log({} instanceof Object); // true;
console.log([] instanceof Object); // true;
console.log(console.log instanceof Function); // true;
console.log(console instanceof Object); // true;

// instanceof 无法检测基本类型;
1 instanceof Number; // fales;
'hello' instanceof String; // false;
true instanceof Boolean; // false

 

注意: 

1. 尽管一切皆对象, 但基本类型无法使用instanceof来检测;

2. 数组的实例既是构造函数Array的实例, 也是Object的实例;

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!