数据类型
JS有5种基本数据类型:String、Number、Boolean、Null、undefined,加上ES6的两种:Symbol、BinInt。
JS有3种引用数据类型:Object、Array、Function
(Null 表示没有对象,即该处不应该有值。Undefined表示缺少值,即该处应该有值,但是没有定义)
1)基本数据类型:指的是保存在栈内存中的简单数据段
2)引用数据类型:指的是那些保存在堆内存中的对象,变量中保存的实际上只是一个指针,这个指针指向内存堆中的实际的值
3)Symbol:是ES6引入了一种新的原始数据类型,表示独一无二的值
4)BinInt:即是第七种基本类型,V8引擎V6,7默认启用对BinInt 的支持。是一种内置对象,它提供了一种方法来表示大于 253 - 1 的整数。这原本是 Javascript中可以用 Number 表示的最大数字。BigInt 可以表示任意大的整数
// 可以用在一个整数字面量后面加 n 的方式定义一个 BigInt ,如:10n,或者调用函数BigInt()。
let b1 = BinInt(10);
let b2 = 10n;
console.log(b1,b2) // 10n, 10n
数据类型判断的基本方法
1、typeof
2、toString.call 例:toString.call(23) —> “[object Number]”
3、instanceof 例:[“1”] instanceof Array --> true
4、constructor 例:[“1”].constructor === Array --> true
5、Object.prototype.toString.call()
6、ES5,变量名字.isArray()可以实现判断数组和对象
var a = []; Array.isArray(a) -> true
var b = {}; Array.isArray(b) -> false