JavaScript 语言有两种类型:原始类型(Primitive Type) 和 引用类型(Reference Type)。
原始类型 包括:大整数(BigInt)、数值(Number)、布尔(Boolean)、字符串(String)、符号(Symbol)、未初始化(Undefined)、空(Null)。
引用类型 包括:对象(Object)、函数(Function)、数组(Array)、映射(Map)、集合(Set)、生成器(Generator)、期约(Promise)。
1.大整数(BigInt)类型
可以用在一个整数字面量后面加 n
的方式定义一个 BigInt
,比如:12345n
。
关于进制部分,与下述数值(Number)类型描述一样。
2.数值(Number)类型
数值类型使用 IEEE 754二进制浮点算术标准 表示整数和浮点数。虽然用同一种类型来表示整数和浮点数,但存储浮点数使用的内存空间是存储整数的两倍,所以在底层会用不同的处理方式对待整数和浮点数。
//示例
//整数
let a = 88;
//小数点后没有数字,会被当成整数1来处理。
let a = 1.;
//小数点后为数字0,会被当成整数1来处理。
let a = 1.0;
//浮点数(小数点后至少有一个数字)
let b = 0.1;
//小数点前无数字,会被当成浮点数0.1来处理,但不推荐。
let b = .1;
类型 范围 Number
5e-324
到1.797 693 134 862 315 7e+308
数值类型还包括五个特殊的值:+0
(正零)、-0
(负零)、非数值(NaN
,Not a Number)、正无穷(Infinity
)、负无穷(-Infinity
)。+0
(正零)、-0
(负零) 与 0
(零) 一样,只是书写方式不同而已。
进制 描述 二进制 以 0b
(零和小写字母b) 或 0B
(零和大写字母B) 开头,后续只能包含数字 0 和 1。 八进制 以 0
(零) 或 0o
(零和小写字母o) 或 0O
(零和大写字母O) 开头,后续只能包含数字(0-7)。严格模式下,不支持以 0
(零) 开头。 十进制 没有 0
(零) 等前缀,后续只能包含数字(0-9)。 十六进制 以 0x
(零和小写字母x) 或 0X
(零和大写字母X) 开头,后续只能包含 数字(0-9) 和 字母(a~f 或 A~F)。字母(a~f 或 A~F) 表示 数字 10 到 15。
3.布尔(Boolean)类型
类型 值 Boolean
true 或 false(其它的大小写混写形式是有效的标识符,但不是布尔值)
以下类型中的一些值会被认为是“假”,除此之外的任何其它值(包括 true
)都被认为是”真“。
类型 这些值会被认为是“假” Number 0、+0、-0、NaN Boolean false String “”(空字符串) Undefined undefined Object null
4.字符串(String)类型
5.符号(Symbol)类型
6.未初始化(Undefined)类型
类型 值 描述 Undefined
undefined 表示变量已声明但未初始化。如果一个变量已声明但未初始化,则此变量会被自动赋予 undefined 值。
7.空(Null)类型
类型 值 描述 Null
null 表示变量已声明且已初始化。如果一个变量将来需要保存对象,但此时又需要初始化时,可以使用 null 值来初始化该变量。
8.对象(Object)类型
Object
是所有对象的基类。
9.函数(Function)类型
10.数组(Array)类型
11.映射(Map)类型
12.集合(Set)类型
13.生成器(Generator)类型
14.期约(Promise)类型
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/javascript/javascriptlang/4735.html