如何判断 js 的数据类型
📚 js 数据类型 一共 7 种
undefined 、 null 、 number 、 string 、 boolean 、object 、 symbol
其中 object 可以细分 位 数组对象 、 函数对象 等
🎯 判断方法
⭐️ typeof
<script> console.log(typeof null) // object 但是null 是单独的类型 console.log(typeof undefined) // undefined 类型 console.log(typeof 1) //number console.log(typeof '') //string console.log(typeof true) //boolean console.log(typeof Symbol()) //symbol console.log(typeof {}) //object </script>
注意:typeof new String(1) 的返回类型是 object 因为这是原始值包装类型 , 这种行为让原始值 拥有对象的行为 同理 new Boolean(true) 和 new Number(1) 返回值都是 object
⭐️ instanceof
instanceof 不能用来判断基本数据类型 只能用来判断引用数据类型
<script> let i console.log(3 instanceof Number) // false console.log('' instanceof String) // false console.log(true instanceof Boolean) // false console.log(null instanceof Object) // false // console.log(i instanceof undefined) // false 报错 </script>
判断引用数据类型
<script> // Date 类型 const date = new Date() console.log(date instanceof Date) // true // 数组 const arr = [] console.log(arr instanceof Array) //true // 原始类型包装 let num = new Number() console.log(num instanceof Object) //true console.log(num instanceof Number) //true </script>
⭐️ Array.isArray 用来判断数组
用法:
<script> const arr = [] const obj = {} console.log(Array.isArray(arr)) // true console.log(Array.isArray(obj)) // false </script>