📜  JS 函数 typeof - Javascript (1)

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

JS 函数 typeof

介绍

在 Javascript 中,typeof 是一个操作符,用于返回一个值的数据类型。它通常用于判断一个值是否为 undefined,null,boolean,number,string 或者 object。

typeof x
用法
typeof 操作符

使用 typeof 操作符返回一个变量的数据类型:

typeof "hello"    // 返回 "string"
typeof 123        // 返回 "number"
typeof true       // 返回 "boolean"
typeof {}         // 返回 "object"
typeof []         // 返回 "object"
typeof null       // 返回 "object"
typeof undefined  // 返回 "undefined"

由上可以看出,typeof 无法准确地判断一个值是否是对象类型。因为数组、正则表达式、Date、null 等都被 typeof 判断为 "object"。但是,由于 JavaScript 采用对象封装的方式,可以利用对象的 toString() 方法来区分一个变量是否为对象类型:

var arr = [1,2,3];
arr.toString();              // 返回 "1,2,3"
Object.prototype.toString.call(arr);  // 返回 "[object Array]"
typeof 与 undefined

使用 typeof 检查一个未定义的变量时,会返回 "undefined":

typeof myVar     // 返回 "undefined"
typeof 与函数

使用 typeof 来检查一个函数时,会返回 "function":

typeof function(){}    // 返回 "function"

但是,使用 typeof 来检查一个数组时,则会返回 "object":

typeof [1,2,3]    // 返回 "object"
注意
  1. 使用 typeof 时,需要注意它只是用来判断数据类型的,而无法判断一个值是否为对象类型;
  2. 对于函数,使用 typeof 操作符是可行的方法,但是对于其他对象类型,最好使用 Object.prototype.toString.call(obj) 来判断。