JS数据类型
基本数据类型: string、number、boolean、undefined、null、bigint、symbol
引用数据类型: object
数据类型的存储位置:
基本数据类型存储在栈(stack)中,引用数据类型存储在堆(heap)中。
数据类型检测方式:
1.typeof
2.instanceof
3.Object.prototype.toString().call()
null和undefined的区别
null是一个表示"无"的对象,undefined是一个表示"无"的原始值。
Number(null) //0
Number(undefined) //NaN
typeof undefined //undefined
typeof null // object
undefined == null //true
undefined === null //false
NaN
1.Not a Number,非数字
2.数据类型是数值类型
typeof NaN //number
Symbol
1.对象的属性名都是字符串,容易造成重名的问题
2.Symbol类型的值是独一无二的
const symbol1 = Symbol()
const symbol2 = Symbol()
console.log(symbol1 === symbol2) //false
==和===的区别
1.==会进行隐式转换
2.===既比较值,还比较类型
[1, 2, 3] == '123' //true