js中instanceof和typeof用法
时间: 2024-05-18 10:16:25 浏览: 170
在JavaScript中,`instanceof`和`typeof`是两个常用的操作符,用于检查变量的类型。它们的用法如下:
1. `instanceof`操作符用于检查一个对象是否是某个类的实例。语法如下:
```javascript
obj instanceof Class
```
这里,`obj`是要检查的对象,`Class`是要检查的类。如果`obj`是`Class`的实例或者是其子类的实例,则返回`true`,否则返回`false`。
示例:
```javascript
class Person {}
const person = new Person();
console.log(person instanceof Person); // true
console.log(person instanceof Object); // true,因为所有对象都是Object的实例
```
2. `typeof`操作符用于确定一个值的数据类型。语法如下:
```javascript
typeof value
```
这里,`value`是要检查的值。返回值为一个表示数据类型的字符串,可能的取值包括:
- `'undefined'`:未定义的变量或属性
- `'boolean'`:布尔值
- `'number'`:数值
- `'string'`:字符串
- `'symbol'`:符号值(ES6新增)
- `'function'`:函数
- `'object'`:对象(包括数组、null等)
示例:
```javascript
console.log(typeof undefined); // 'undefined'
console.log(typeof true); // 'boolean'
console.log(typeof 42); // 'number'
console.log(typeof 'hello'); // 'string'
console.log(typeof Symbol('symbol')); // 'symbol'
console.log(typeof function() {}); // 'function'
console.log(typeof {}); // 'object'
console.log(typeof []); // 'object'
console.log(typeof null); // 'object',注意这里的历史遗留问题
```
希望以上解释对你有帮助!如果还有其他问题,请继续提问。
阅读全文