关键词

js中判断变量类型函数typeof的用法总结

标题:JS中判断变量类型函数typeof的用法总结

1. typeof函数的介绍

typeof是JavaScript中的一个关键字,用于判断一个变量的类型。它返回一个字符串,表示变量的数据类型。需要注意的是,typeof运算符不是函数,括号可以省略。

普通变量的类型判断:

let a = 1;
console.log(typeof a); // number

对象的类型判断:

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

2. typeof对于不同的变量类型的返回值

typeof运算符返回的字符串有6种:

  • "undefined":表示未定义的变量。
  • "string":表示字符串。
  • "number":表示数值。
  • "object":表示对象或null。
  • "boolean":表示布尔值。
  • "function":表示函数。

需要注意的是,typeof运算符对于数组、日期、正则表达式和错误对象的返回值都是"object"

3. typeof几个特殊的数据类型

typeof运算符对于以下几个特殊的数据类型会返回不同的值。

3.1 null

let c = null;
console.log(typeof c); // object

值得注意的是,虽然null是一个表示空对象指针的特殊值,但typeof运算符将其认为是"object"类型。这是JavaScript的一个历史遗留问题。

3.2 函数

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

对于函数类型,typeof运算符返回"function"

4. 总结

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

展开阅读全文