跳到主要内容

JavaScript typeof 运算符

JavaScript 中的 typeof 运算符用于返回变量或值的类型,具有以下几个关键特点:

  1. 基本用法typeof 运算符的语法是 typeof operand,其中 operand 可以是变量名或直接的值。此运算符用于确定变量或值的数据类型。

  2. 返回的数据类型typeof 运算符可以返回多种类型,包括 "string""number""bigint""boolean""object""symbol""undefined""function"。需要特别注意的是,typeof null 的结果是 "object",这是 JavaScript 的一个长期存在的小错误。

  3. 实际应用typeof 运算符主要用于动态类型语言中检查变量的数据类型。它可以在执行某些特定于类型的操作之前验证变量的类型,或者在多种数据类型可能出现的情况下,进行条件判断。

在 JavaScript 编程中,正确使用 typeof 运算符可以帮助开发者避免类型错误,并在处理多种数据类型时提供更好的灵活性和可靠性。

typeof 运算符返回变量和值的类型。例如,

const a = 9;

console.log(typeof a); // number
console.log(typeof "9"); // string
console.log(typeof false); // boolean

typeof 运算符的语法

typeof 运算符的语法为:

typeof operand;

这里,operand 是变量名或值。

typeof 的类型

JavaScript 中 typeof 运算符返回的可能类型有:

类型typeof 结果
String"string"
Number"number"
BigInt"bigint"
Boolean"boolean"
Object"object"
Symbol"symbol"
undefined"undefined"
null"object"
函数"function"

示例 1:字符串的 typeof

const str1 = "Peter";
console.log(typeof str1); // string

const str2 = "3";
console.log(typeof str2); // string

const str3 = "true";
console.log(typeof str3); // string

示例 2:数字的 typeof

const number1 = 3;
console.log(typeof number1); // number

const number2 = 3.433;
console.log(typeof number2); // number

const number3 = 3e5;
console.log(typeof number3); // number

const number4 = 3 / 0;
console.log(typeof number4); // number

示例 3:BigInt 的 typeof

const bigInt1 = 900719925124740998n;
console.log(typeof bigInt1); // bigint

const bigInt2 = 1n;
console.log(typeof bigInt2); // bigint

示例 4:布尔值的 typeof

const boolean1 = true;
console.log(typeof boolean1); // boolean

const boolean2 = false;
console.log(typeof boolean2); // boolean

示例 5:Undefined 的 typeof

let variableName1;
console.log(typeof variableName1); // undefined

let variableName2 = undefined;
console.log(typeof variableName2); // undefined

示例 6:null 的 typeof

const name = null;
console.log(typeof name); // object

console.log(typeof null); // object

示例 7:Symbol 的 typeof

const symbol1 = Symbol();
console.log(typeof symbol1); // symbol

const symbol2 = Symbol("hello");
console.log(typeof symbol2); // symbol

示例 8:对象的 typeof

let obj1 = {};
console.log(typeof obj1); // object

let obj2 = new String();
console.log(typeof obj2); // object

let obj3 = [1, 3, 5, 8];
console.log(typeof obj3); // object

示例 9:函数的 typeof

let func = function () {};
console.log(typeof func); // function

// 构造函数
console.log(typeof String); // function

console.log(typeof Number); // function

console.log(typeof Boolean); // function

typeof 运算符的用途

  • typeof 运算符可以用来检查特定时刻变量的类型。例如,
let count = 4;
console.log(typeof count);

count = true;
console.log(typeof count);
  • 你可以根据不同类型的数据执行不同的操作。例如,
let count = 4;
if(typeof count === 'number') {
// 执行某些操作
}
else if (typeof count = 'boolean') {
// 执行另一些操作
}