鱼C论坛

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

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

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

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

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

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


函数概述

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


函数语法

  1. typeof operand
复制代码


参数解析

参数 含义
operand 任意表达式或变量,typeof 将会返回该操作数的数据类型。


返回值

typeof 运算符可能的返回值包括:

  • "undefined":如果变量未定义。
  • "boolean":如果变量是布尔值。
  • "number":如果变量是数值。
  • "string":如果变量是字符串。
  • "object":如果变量是对象或 null。
  • "function":如果变量是函数。
  • "symbol":如果变量是 Symbol。
  • "bigint":如果变量是 BigInt 类型。


基本用法

  1. // 数字
  2. console.log(typeof 42);  // 输出 "number"

  3. // 字符串
  4. console.log(typeof 'hello');  // 输出 "string"

  5. // 布尔值
  6. console.log(typeof true);  // 输出 "boolean"

  7. // 未定义的变量
  8. let a;
  9. console.log(typeof a);  // 输出 "undefined"

  10. // 对象
  11. let obj = { key: 'value' };
  12. console.log(typeof obj);  // 输出 "object"

  13. // 数组(也是对象)
  14. let arr = [1, 2, 3];
  15. console.log(typeof arr);  // 输出 "object"

  16. // 函数
  17. function example() {}
  18. console.log(typeof example);  // 输出 "function"

  19. // null
  20. console.log(typeof null);  // 输出 "object"

  21. // Symbol
  22. let sym = Symbol();
  23. console.log(typeof sym);  // 输出 "symbol"

  24. // BigInt
  25. let bigInt = 123n;
  26. console.log(typeof bigInt);  // 输出 "bigint"
复制代码


注意事项

typeof operand 和 typeof(operand):

这两种写法实际输出的结果是一致的,都没问题。

但更推荐第一种写法,因为后者容易让人误以为 typeof 是一个函数(其实它是一个运算符)。


null 的特殊情况:

typeof null 返回 "object",这是一个被认为是 JavaScript 的设计缺陷。

尽管 null 不是一个对象,但它的类型被错误地返回为 "object":

  1. console.log(typeof null);  // 输出 "object"
复制代码


数组的类型:

typeof 运算符无法区分数组和普通对象。

它会将数组识别为 "object"。要检查一个变量是否为数组,可以使用 Array.isArray() 方法:

  1. let arr = [1, 2, 3];
  2. console.log(typeof arr);  // 输出 "object"
  3. console.log(Array.isArray(arr));  // 输出 true
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-22 07:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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