📜  JavaScript typeof运算符(1)

📅  最后修改于: 2023-12-03 15:31:38.899000             🧑  作者: Mango

JavaScript typeof运算符

在 JavaScript 中,typeof 运算符用于确定操作数的数据类型。它返回一个字符串,表示操作数的数据类型。

语法
typeof operand

其中,operand 是要检查的值或变量。

返回值

返回值是一个表示 operand 的数据类型的字符串。可能的字符串值为:

  • "undefined":如果未定义 operand。
  • "boolean":如果 operand 是一个布尔值。
  • "number":如果 operand 是一个数字。
  • "string":如果 operand 是一个字符串。
  • "symbol":如果 operand 是一个 ES6 Symbol 对象。
  • "object":如果 operand 是 null、数组或一般对象。
  • "function":如果 operand 是一个函数。
示例

以下示例演示了 typeof 运算符的不同应用场景:

typeof undefined     // "undefined"
typeof true          // "boolean"
typeof 123           // "number"
typeof "Hello"       // "string"
typeof Symbol()      // "symbol"
typeof null          // "object"
typeof []            // "object"
typeof {}            // "object"
typeof console.log   // "function"
注意事项
  • 由于历史原因,typeof null 返回 "object",因为 JavaScript 最初将 null 值作为对象的占位符,当时它是用来标识对象是否为空的。
  • 如果 operand 是函数(包括“箭头函数”),typeof 返回 "function"。这与实际情况略有不同,因为函数的本质是对象。如果需要检测函数是否是真正的函数对象,可以使用 Object.prototype.toString.call(operand) === "[object Function]"
  • typeof 运算符在应用到未定义的变量时不会引发 ReferenceError 异常,而是返回字符串 "undefined"。
  • typeof 返回的字符串始终是小写的。
总结

typeof 运算符是一种用于识别 JavaScript 变量数据类型的工具,它的返回值是一个字符串,表示操作数的数据类型。它可以非常方便地确定变量是否已声明,以及在运行时处理不同类型的变量。