Js数据类型检测

153 阅读2分钟

Js数据类型检测

一、数据类型的概念

首先对于数据类型检测的前提,我们要明白在Js中有哪些数据类型. 以下是Js中的数据类型, 其中 undefined、null、Boolean、String、Number、Symbol、BigInt为7种基础数据类型, Object为引用数据类型,也就是在存的时候,存其引用地址。Object中又分Array数组类型、 RegExp正则类型、Date日期类型、Math数学类型、Function函数类型。

image.png

对于数据类型检测,大家有什么好方法嘛?如果面试问你,在JS中检测数据类型有多少种方法?你会怎样回答呢?下面就跟小编一起,探索一下Js数据类型的检测方法把~

二、数据类型的检测

1.Js关键字(typeof)

  • 我们通常都会想到用typeof关键字来进行数据类型检测,但是typeof也有不好的缺陷,如:

image.png 不难发现:对于null的检测为Object就出现的了问题。我们对于null的判断可以使用===null来判断 就好,在引用类型当中,处理function类型判断可以,其余的都是Object类型,是无法判断出来的。

2.关键字(instanceof)

image.png

对于以上俩种判断方法,存在什么利弊呢?

  1. instanceof可以判断引用数据类型,但是不能判断基础数据类型。
  2. typeof可以判断基础数据类型(null除外)和引用类型中的function类型外,不能判断其他引用类型。

3.Object.prototype.toString

image.png

使用这个方法,最后同意返回格式为字符串。接下来,实现一个判断方法:

image.png

通过以上三种方法,我相信大家对Js数据类型检测有了更多的了解,谢谢大家!欢迎一起讨论!