马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
typeof -- 返回一个字符串,表示操作数的数据类型
函数概述
typeof是一个一元运算符,返回一个字符串,表示操作数的数据类型。它可以用于确定变量或表达式的类型。
函数语法
参数解析
参数 | 含义 | operand | 任意表达式或变量,typeof 将会返回该操作数的数据类型。 |
返回值
typeof 运算符可能的返回值包括:
- "undefined":如果变量未定义。
- "boolean":如果变量是布尔值。
- "number":如果变量是数值。
- "string":如果变量是字符串。
- "object":如果变量是对象或 null。
- "function":如果变量是函数。
- "symbol":如果变量是 Symbol。
- "bigint":如果变量是 BigInt 类型。
基本用法
// 数字
console.log(typeof 42); // 输出 "number"
// 字符串
console.log(typeof 'hello'); // 输出 "string"
// 布尔值
console.log(typeof true); // 输出 "boolean"
// 未定义的变量
let a;
console.log(typeof a); // 输出 "undefined"
// 对象
let obj = { key: 'value' };
console.log(typeof obj); // 输出 "object"
// 数组(也是对象)
let arr = [1, 2, 3];
console.log(typeof arr); // 输出 "object"
// 函数
function example() {}
console.log(typeof example); // 输出 "function"
// null
console.log(typeof null); // 输出 "object"
// Symbol
let sym = Symbol();
console.log(typeof sym); // 输出 "symbol"
// BigInt
let bigInt = 123n;
console.log(typeof bigInt); // 输出 "bigint"
注意事项
typeof operand 和 typeof(operand):
这两种写法实际输出的结果是一致的,都没问题。
但更推荐第一种写法,因为后者容易让人误以为 typeof 是一个函数(其实它是一个运算符)。
null 的特殊情况:
typeof null 返回 "object",这是一个被认为是 JavaScript 的设计缺陷。
尽管 null 不是一个对象,但它的类型被错误地返回为 "object":
console.log(typeof null); // 输出 "object"
数组的类型:
typeof 运算符无法区分数组和普通对象。
它会将数组识别为 "object"。要检查一个变量是否为数组,可以使用 Array.isArray() 方法:
let arr = [1, 2, 3];
console.log(typeof arr); // 输出 "object"
console.log(Array.isArray(arr)); // 输出 true
|