1、概述
JavaScript有六种数据结构
数值(NUMBER):整数和小数(比如1和3.14)
字符串(STRING):文本(比如HELLO WORLD)。
布尔值(BOOLEAN):表示真伪的两个特殊值,即TRUE(真)和FALSE(假)<只有两个值>
UNDEFINED:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
NULL:表示空值,即此处的值为空。
对象(OBJECT):各种值组成的集合。
数值、字符串、布尔值这三种类型合称为原始类型(primitive type),undefined和null看作两个特殊值,对象则是复杂类型。对象作为最复杂的类型,可以分成三个子类型:狭义的对象(object),数组(array),函数(function)。
2、typeof运算符
可以使用typeof运算符确定一个值的类型
数值、字符串、布尔值分别返回number、string、boolean。
函数返回function。
undefined返回undefined
对象返回object
null返回object
已声明未赋值的变量返回undefined
3、细节
- number
整数和小数:1 // 1.1 // .1
科学记数法:1.23e2
二进制:0b11
八进制:011(后来 ES5 添加了 0o11 语法)
十六进制:0x11
- string
空字符串:''
多行字符串:主要是用“+”(加号)连接
- boolean
只有两个值,true和false
符号&&和||
symbol
undefined和null
如果一个变量没有被赋值,那么这个变量的值就是 undefiend
如果想表示一个还没赋值的对象,就用 null。如果想表示一个还没赋值的字符串/数字/布尔/symbol,就用 undefined
- object
object可以由基本类型无序组合在一起
object可以由object组成
object 的 key 一律是字符串,不存在其他类型的 key
object[''] 是合法的
object['key'] 可以写作 object.key
注意 object.key 与 object[key] 不同
delete object['key']
'key' in object