鱼C论坛

 找回密码
 立即注册
查看: 89|回复: 0

[速查宝典] typeof -- 返回一个字符串,表示操作数的数据类型

[复制链接]
发表于 2024-7-7 17:07:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
typeof -- 返回一个字符串,表示操作数的数据类型


函数概述

typeof是一个一元运算符,返回一个字符串,表示操作数的数据类型。它可以用于确定变量或表达式的类型。


函数语法
typeof operand

参数解析

参数 含义
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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-18 16:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表