JS 数据类型性判断大全

JavaScript 中的数据类型判断,除了使用 typeof 操作符之外,还可以使用其他一些方法来更准确地判断变量的数据类型。以下是一些常用的方法:
1.typeof 操作符:

function getVariableType(variable) {
  return typeof variable;
}

const name = "John";
console.log(getVariableType(name)); // 输出: "string"

const age = 30;
console.log(getVariableType(age)); // 输出: "number"

const isStudent = true;
console.log(getVariableType(isStudent)); // 输出: "boolean"
  1. instanceof 操作符:
    instanceof 是 JavaScript 中的一个运算符,用于检查一个对象是否是某个特定类型的实例。它的语法是 object instanceof constructor,其中 object 是要检查的对象,constructor 是用来比较的构造函数或类。
    instanceof 运算符返回一个布尔值,如果对象是指定类型的实例,则返回 true,否则返回 false。
function getVariableType(variable) {
  if (variable instanceof Array) {
    return "array";
  } else if (variable instanceof Date) {
    return "date";
  } else if (variable instanceof RegExp) {
    return "regexp";
  } else if (variable === null) {
    return "null";
  } else {
    return typeof variable;
  }
}

var array = [1, 2, 3];
console.log(getVariableType(array)); // 输出: "array"

var date = new Date();
console.log(getVariableType(date)); // 输出: "date"

var regex = /abc/;
console.log(getVariableType(regex)); // 输出: "regexp"

var nullValue = null;
console.log(getVariableType(nullValue)); // 输出: "null"

3.Array.isArray() 方法来判断是否为数组

var array = [1, 2, 3];
console.log(Array.isArray(array)); // 输出: true

var notArray = "Hello";
console.log(Array.isArray(notArray)); // 输出: false

4.Object.prototype.toString.call() 方法:
Object.prototype.toString 是 JavaScript 中的一个方法,用于获取一个对象的字符串表示形式。它返回一个表示对象类型的字符串,格式为 [object ObjectClass]。
为了提取出具体的类型字符串,我们可以使用 slice 方法截取字符串,从第 8 个字符开始(去除 "[object "),直到倒数第 1 个字符(去除最后的 “]”)。

function getVariableType(variable) {
  return Object.prototype.toString.call(variable).slice(8, -1).toLowerCase();
}

var name = "John";
console.log(getVariableType(name)); // 输出: "string"

var age = 30;
console.log(getVariableType(age)); // 输出: "number"

var isStudent = true;
console.log(getVariableType(isStudent)); // 输出: "boolean"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值