js中typeof和instanceof
时间: 2023-04-30 17:03:37 浏览: 115
typeof和instanceof是JavaScript中两种判断数据类型的方法。typeof通常用于判断基本数据类型,如string、number、boolean、undefined、function,而无法判断复杂数据类型(如数组、对象)。而instanceof则适用于判断一个对象是否是某个类的实例,是通过原型链来进行判断的。
相关问题
js中typeof和instanceof区别
在JavaScript中,`typeof`和`instanceof`是用于检测变量类型的两种不同的操作符。
1. `typeof`操作符用于确定一个值的原始类型。它返回一个字符串,表示该值的类型。常见的返回值包括:"undefined"、"boolean"、"number"、"string"、"bigint"、"symbol"、"function"和"object"。
例如:
```javascript
typeof 42; // "number"
typeof "hello"; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object"
typeof []; // "object"
typeof {}; // "object"
typeof function() {}; // "function"
```
需要注意的是,`typeof null`返回的是"object",这是历史遗留问题,实际上null是一个表示"无值"的特殊值。
2. `instanceof`操作符用于检查一个对象是否属于某个特定类或构造函数的实例。它返回一个布尔值。
例如:
```javascript
var arr = [];
arr instanceof Array; // true
var obj = {};
obj instanceof Object; // true
function Person() {}
var person = new Person();
person instanceof Person; // true
```
`instanceof`操作符基于原型链进行判断,如果对象的原型链上存在指定类或构造函数的原型,则返回true;否则返回false。
总结:
- `typeof`用于判断基本类型和函数类型,返回字符串表示类型。
- `instanceof`用于判断对象是否属于某个特定类或构造函数的实例,返回布尔值。
js typeof和instanceof
js中的typeof和instanceof都是用来判断数据类型的。
typeof用来判断基本数据类型,比如字符串、数字、布尔值、undefined和null。
instanceof用来判断对象的具体类型,比如判断一个对象是否为数组、函数、日期等等。
阅读全文