在JavaScript中,typeof
是一个运算符,用于检测变量的数据类型。注意,不是 type()
函数,而是 typeof
运算符。
typeof
运算符返回一个表示操作数类型的字符串。它可以用来检测基本数据类型(如字符串、数字、布尔值、undefined)和引用类型(如对象、数组、函数)。
typeof
是一个内建的JavaScript运算符,使用方便。以下是 typeof
运算符对不同类型的返回值:
typeof undefined; // "undefined"
typeof null; // "object"(这是一个历史遗留问题)
typeof true; // "boolean"
typeof 123; // "number"
typeof "abc"; // "string"
typeof {}; // "object"
typeof function() {}; // "function"
typeof
来判断参数类型,并据此执行不同的逻辑。typeof
来检查变量的类型,以确保它们符合预期。null
值,typeof
返回 "object"
,这是一个已知的历史遗留问题。如果需要准确检测 null
,应使用严格相等运算符 ===
。typeof
都会返回 "object"
,如果需要更精确地区分这些类型,可以使用 instanceof
运算符或 Object.prototype.toString.call()
方法。以下是一个使用 typeof
运算符的示例函数,该函数根据参数类型执行不同的操作:
function processValue(value) {
if (typeof value === "number") {
return value * 2;
} else if (typeof value === "string") {
return value.toUpperCase();
} else if (typeof value === "boolean") {
return !value;
} else {
return "Unknown type";
}
}
console.log(processValue(123)); // 输出: 246
console.log(processValue("hello")); // 输出: HELLO
console.log(processValue(true)); // 输出: false
console.log(processValue(null)); // 输出: Unknown type
console.log(processValue({})); // 输出: Unknown type
在这个示例中,processValue
函数根据传入参数的类型执行不同的操作,并返回相应的结果。
领取专属 10元无门槛券
手把手带您无忧上云