标题:JS中判断变量类型函数typeof的用法总结
typeof
是JavaScript中的一个关键字,用于判断一个变量的类型。它返回一个字符串,表示变量的数据类型。需要注意的是,typeof运算符不是函数,括号可以省略。
普通变量的类型判断:
let a = 1;
console.log(typeof a); // number
对象的类型判断:
let b = {};
console.log(typeof b); // object
typeof
运算符返回的字符串有6种:
"undefined"
:表示未定义的变量。"string"
:表示字符串。"number"
:表示数值。"object"
:表示对象或null。"boolean"
:表示布尔值。"function"
:表示函数。需要注意的是,typeof运算符对于数组、日期、正则表达式和错误对象的返回值都是"object"
。
typeof
运算符对于以下几个特殊的数据类型会返回不同的值。
let c = null;
console.log(typeof c); // object
值得注意的是,虽然null
是一个表示空对象指针的特殊值,但typeof
运算符将其认为是"object"
类型。这是JavaScript的一个历史遗留问题。
let d = function() {};
console.log(typeof d); // function
对于函数类型,typeof
运算符返回"function"
。
typeof
是JavaScript中判断变量类型的运算符。但需要注意的是,它的返回值并不是所有情况下都是准确的,如数组、日期、正则表达式和错误对象。在接下来的编码过程中,可以通过其他方法来补充typeof
的判断。
示例:
function judgeType(variable) {
if (Array.isArray(variable)) {
return 'array';
} else if (variable instanceof Date) {
return 'date';
} else if (variable instanceof RegExp) {
return 'regexp';
} else if (variable instanceof Error) {
return 'error';
} else {
return typeof variable;
}
}
console.log(judgeType([])); // array
console.log(judgeType(new Date())); // date
console.log(judgeType(/test/)); // regexp
console.log(judgeType(new Error())); // error
本文链接:http://task.lmcjl.com/news/10576.html