第一篇 JS语言基础之数据检测方法(目前只有 typeof)

113 阅读1分钟

1.5 JS数据类型检测

  • typeof[val]: 用来检测数据类型的运算符

    • 方法,比如 sum()

    • 运算符,比如说 + - * / % ! == ...

  • instanceof : 用来检测当前实例是否隶属于某个类

    • 是运算符
  • constructor : 基于构造函数检测数据类型(也是基于类的方式)

    • 是属性,不是运算符不是方法
  • Object.prototype.toString.call(): 检测数据类型最好的办法

  • 做轻量级检测可以选择前仨

1.5.1 typeof

  1. 基于 typeof 检测出来的结果
  • 首先是一个字符串

  • 字符串中包含对应的数据类型

  1. 局限性:
  • typeof null => 'object' ,但是 null 并不是对象(引用类型值),null 是空对象指针,被 typeof 归于对象类型

  • 基于 typeof 无法细分当前值是普通对象还是数组对象等等,因为只要是对象类型,返回的结果都是'object'

    console.log(typeof 1); // 'number'

基本类型

typeof 基本类型

引用类型

image.png

  1. 练习题
console.log(typeof ... typeof typeof []) // 'string'; 

因为 typeof 检测的结果都是字符串,只要两个及以上 typeof 同时检测,返回值必是'string'