1.4JavaScript语言的类型(Type)

JavaScript 语言有两种类型:原始类型(Primitive Type) 和 引用类型(Reference Type)。

原始类型是不可变的(immutable),引用类型是可变的(mutable)。

原始类型包括:大整数(BigInt)、数值(Number)、布尔(Boolean)、字符串(String)、符号(Symbol)、未初始化(Undefined)、空(Null)。

引用类型包括:对象(Object)、函数(Function)、数组(Array)、映射(Map)、集合(Set)、生成器(Generator)、期约(Promise)。

1.大整数(BigInt)类型

可以用在一个整数字面量后面加 n 的方式定义一个 BigInt ,比如:12345n

类型范围对象创建方式
BigInt任意精度整数1.支持字面量
2.支持BigInt()构造函数,不支持new BigInt()构造函数打包方式
进制描述
二进制以 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)。

2.数值(Number)类型

数值类型相当于其它语言的浮点数类型。

数值类型还包括三个特殊的值:非数值(NaN,Not a Number)、正无穷(Infinity)、负无穷(-Infinity)。

类型范围对象创建方式
Number浮点数类型遵循IEEE 754二进制浮点算术标准1.支持字面量
2.支持Number()构造函数,支持new Number()构造函数打包方式

关于进制部分,与上述大整数(BigInt)类型描述一样。

3.布尔(Boolean)类型

类型对象创建方式
Booleantrue 或 false(两个值都区分大小写)1.支持字面量
2.支持Boolean()构造函数,支持new Boolean()构造函数打包方式

4.字符串(String)类型

类型对象创建方式
String1.支持字面量
2.支持String()构造函数,支持new String()构造函数打包方式

5.符号(Symbol)类型

类型对象创建方式
Symbol1.不支持字面量
2.支持Symbol()构造函数,不支持new Symbol()构造函数打包方式

6.未初始化(Undefined)

类型描述
Undefinedundefined表示变量已声明但未初始化。任何时候,只要已声明但未初始化的变量,都会被自动赋予 undefined 值。

7.空(Null)类型

类型描述
Null只有一个值 null(区别大小写)表示变量已声明且已初始化。任何时候,只要变量需要保存对象,而当时又没有那个对象可保存,就需要 null 来初始化该变量。

8.对象(Object)类型

Object 是所有对象的基类。

类型对象创建方式
Object1.支持字面量
2.支持Object()构造函数,支持new Object()构造函数
3.支持new 类名()构造函数

9.函数(Function)类型

类型对象创建方式
Function1.支持字面量
2.支持Function()构造函数,支持new Function()构造函数

10.数组(Array)类型

类型对象创建方式
Array1.支持字面量
2.支持Array()构造函数,支持new Array()构造函数

11.映射(Map)类型

类型对象创建方式
Map1.不支持字面量
2.不支持Map()构造函数,支持new Map()构造函数

12.集合(Set)类型

类型对象创建方式
Set1.不支持字面量
2.不支持Set()构造函数,支持new Set()构造函数

13.生成器(Generator)类型

类型对象创建方式
Generator从生成器函数返回。

14.期约(Promise)类型

类型对象创建方式
Promise1.不支持字面量
2.不支持Promise()构造函数,支持new Promise()构造函数

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/javascript/javascriptlang/4735.html

(1)
上一篇 2020年8月3日 22:51
下一篇 2020年8月4日 16:50

相关推荐

  • 2.4JavaScript引用类型之类(Class)

    1.类声明 类是一种“特殊的函数”,就像函数声明定义方式和函数表达式定义方式一样,定义类的方式也有两种:类声明定义方式和类表达式定义方式。 2.继承 一个类只能继承自一个父类,不可以继承自多个父类。 3.抽象(Abstract)类 虽然ECMAScript没有专门支持抽象类的语法,但是我们可以通过new.target来…

  • 1.10JavaScript语言的异常(Exception)语句

    1.throw 2.try-catch 3.try-finally 4.try-catch-finally

  • 2.1JavaScript语言的ES6 Module

    每个文件本身都是模块,在文件中定义的类、变量、常量和函数对这个文件而言都是私有(private)的,除非它们被显式导出。另外,一个模块导出的值只有在显式导入它们的模块中才可以使用。 虽然模块中可同时存在命名导出和默认导出,但作为最佳实践只使用命名导出和默认导出中的一种。 当使用场景为需要导出多个值的时候,只使用命名导出…

发表回复

登录后才能评论