typeof 是一个 JavaScript 运算符,用于检测给定变量或表达式的数据类型。它返回一个表示数据类型的字符串。以下是 typeof 可能返回的字符串值及其对应的数据类型:
1. "undefined": 表示变量未定义或对象属性不存在。
```
javascript
typeof undefined; // "undefined"
```
2. "boolean": 表示布尔值。
```
javascript
typeof true;
```
3. "number": 表示数字,包括整数和浮点数。
```
javascript
typeof 42;
typeof 3.14;
```
4. "string": 表示字符串。
```
javascript
typeof "Hello";
```
5. "bigint": 表示大整数。
```
javascript
typeof 10n; // "bigint"
```
6. "object": 表示对象(包括数组和函数)。
```
javascript
typeof {};
typeof [];
typeof function(){};
```
7. "symbol": 表示符号(ES6 引入的新数据类型)。
```
javascript
typeof Symbol();
```
8. "function": 表示函数。
```
javascript
typeof function(){};
```
注意:
typeof null 的结果是 "object"。这是 JavaScript 的一个已知问题,因为在 JavaScript 的早期版本中,null 被错误地认为是对象类型。
- 对于引用类型(如数组和对象),
typeof 只能告诉你它们是对象,而无法区分是数组还是其他类型的对象。要更详细地检测对象的类型,可以使用 Array.isArray() 和其他方法。