JavaScript的数据类型,也可以称为原始类型,加上es6的Symbol现在一共是七种,分别是:UndefinedNullBooleanNumberobjectStringSymbol

本章节只是对这些数据类型进行了简单描述,以便理解

一、 undefined

undefined表示值未定义,只有一个值,就是特殊值undefined 。当使用varlet声明了变量但没有初始化时,就相当于给变量赋予了undefined

二、boolean

boolean表示值为布尔值;值只有true和false

三、string

String(字符串)数据类型表示零或多个16位Unicode字符序列。字符串可以使用双引号(”)、单引号(’)或反引号(`)标示

四、 number

数值,Number类型使用IEEE 754格式表示整数和浮点值(在某些语言中也叫双精度值),最基本的数值字面量格式是十进制整数,也就是我们日常使用的数值。

1
let intNum = 55; // 整数

五、object

用来表示一组数据和功能的集合。可以通过new关键字创建

1
let obj = new Object()

相比较上面的创建,下面的创建方式在日常中使用的更多

1
let obj = {}

六、null

Null只有一个值,即特殊值null。逻辑上讲,null值表示一个空对象指针,这也是给typeof传一个null会返回object的原因

七、 symbol

Symbol(符号)ES6新增的数据类型。符号是原始值,且符号实例是唯一、不可变的。符号的用途是确保对象属性使用唯一标识符,不会发生属性冲突的危险。
尽管听起来跟私有属性有点类似,但符号并不是为了提供私有属性的行为才增加的(尤其是因为Object API提供了方法,可以更方便地发现符号属性)。相反,符号就是用来创建唯一记号,进而用作非字符串形式的对象属性。

1. 基本用法

符号需要使用Symbol()函数初始化。因为符号本身是原始类型,所以typeof操作符对符号返回symbol

1
2
let sym = Symbol();
console.log(typeof sym); // symbol

调用**Symbol()**函数时,也可以传入一个字符串参数作为对符号的描述

Symbol不可与new一起使用