JavaScript有哪些数据类型
基本数据类型:
Number
数值最常见的整数类型格式则为十进制,还可以设置八进制(零开头)、十六进制(0x开头)
String:
空字符串返回false
字符串是不可变的,一旦创建,它们的值就不能变了(字符串的操作 一般是先销毁原有字符串再创建新字符串)
Boolean
数据类型 | 转换为 true 的值 | 转换为 false 的值 |
---|---|---|
String | 非空字符串 | "" |
Number | 非零数值(包括无穷) | 0、NaN |
Object | 任意对象 | null |
Undefined | N/A不存在 | undefined |
Null
逻辑上讲, null 值表示一个空对象指针
typeof null 返回 ‘object’
Undefined
undefined 值是由 null值派生而来
Symbol:
Symbol (符号)是原始值,且符号实例是唯一、不可变的。符号的用途是确保对象属性使用唯一标识符,不会发生属性冲突的危险
引用数据类型
Object
创建object常用方式为对象字面量表示法,属性名可以是字符串或数值
Array
Function
函数实际上是对象,每个函数都是
Function
类型的实例,而Function
也有属性和方法,跟其他引用类型一样三种常见表达方式:函数声明、函数表达式、箭头函数
其他引用类型
除了上述说的三种之外,还包括Date
、RegExp
、Map
、Set
数据类型的存储区别
基本类型是存储在栈内存中的
引用类型是在栈内存中存储一个堆地址,具体数据存储在堆内存中。变量只是堆地址的引用。