js 数据类型
最近编辑于
js 数据类型分为两大类:基本数据类型、引用数据类型
- 基本数据类型:number、string、Boolean、undefined、null、bigint、symbol,其中bigint和symbol是es6后新增的数据类型
- 引用数据类型: object、array、function、date、map、set,其实本质上都是属于object的一种
bigint和symbol解决的问题
- js的最大安全数是2^53-1,超出会丢失精度,为了解决大数计算问题,推出大数这一数据类
- symbol 解决唯一键问题,避免覆盖
let a = 11111111111111111;
let b = 11111111111111111n;
console.log(a); // 11111111111111112
console.log(b); // 11111111111111111n
const _private = Symbol('private');
class MyClass {
constructor() {
this[_private] = '隐藏数据';
}
}
如何判断数据类型
- typeof可以检测基本数据类型, 但是不能区分object和null
let a = 1
let b = null
let c = {
name: 'John',
}
console.log(typeof a) // number
console.log(typeof b) // object
console.log(typeof c) // object
- instanceof可以判断一个对象的隐式原型对象是否在某个构造函数的原型链上,从而判断这个对象,但是不能检测基本数据类型
console.log(a instanceof Number) // false console.log(c instanceof Object) // true
- Object.prototype.toString.call() 可以准确判断出数据的类型,
console.log(Object.prototype.toString.call(a)) // [object Number] console.log(Object.prototype.toString.call(b)) // [object Null] console.log(Object.prototype.toString.call(c)) // [object Object]
评论 (0)
暂无评论,成为第一个评论者!