检查数据类型

检查数据类型,也是必备的一个技能了,在以前的文章中也讲过,如何进行数据的判断,今天我们在来回去一下吧。

一.typeof

说明:这个只能检查一些简单的数据类型。

代码:

  let a = 10
  let b = '10'
  console.log(typeof a);
  console.log(typeof b);

view:

接下来我们检查对象和数组

代码:

  let a = [10, 20, 30, 40, 50]
  let b = {
    name: '张三',
    age: 20
  }
  console.log(typeof a);
  console.log(typeof b);

view:

扫描二维码关注公众号,回复: 14240314 查看本文章

结论:typeof只能检查一些简单的数据类型,复杂的数据类型无法检测出来。

二.instanceof

代码:

  const arr = []
  const obj = {}
  console.log(arr instanceof Object) // true
  console.log(obj instanceof Object) // true

view:

 可以看出也是不能准确地检查数据类型的。

三:isArray

只能区分是不是数组,是什么呢?不知道

代码:

  const a = []
  console.log(Array.isArray(a));

view:

代码:

 const a = 10
 console.log(Array.isArray(a));

view:

四.Object.prototype.toString.call()

这也是最终的检测数据类型的方案,可以检测任意的数据类型。

代码:

  let a = 10 //number
  let b = '10' //String
  let c = null //null
  let d = undefined //underfined
  let e = true //boolean
  let f = [] //Arrway
  let t = {} //object
  let q = function fn() {} //function
  console.log(Object.prototype.toString.call(a));
  console.log(Object.prototype.toString.call(b));
  console.log(Object.prototype.toString.call(c));
  console.log(Object.prototype.toString.call(d));
  console.log(Object.prototype.toString.call(e));
  console.log(Object.prototype.toString.call(f));
  console.log(Object.prototype.toString.call(t));
  console.log(Object.prototype.toString.call(q));

view:

 看一看出准确地检查到了任意类型的数据,今天的分享到这里大家一键三连哦

猜你喜欢

转载自blog.csdn.net/qq_59076775/article/details/124656459