JS部分内容可以查看MDN文档:https://developer.mozilla.org/zh-CN/
一、基本类型
- 数字(number) 用于表示数值,可以是整数或浮点数。【NaN、Infinity都是Number类型】
- 字符串(string) 用于表示文本内容。由单引号(')、双引号(")、反引号(`)包含的字符组成
- 布尔值(boolean) 只有true和false两个值,用于条件判断和罗技运算
- 空(null) 空对象指针,表示变量不引用任何对象,表示没有值的特殊类型。typeof检测null返回Object,说明null本身是Object未引用的状态。
- 未定义(undefined) 表示未赋值的变量。(1)当变量声明没有赋初始值时,默认为undefined。(2)调用函数时,函数定义的参数未接收,默认参数值为undefined。(3)定义对象的属性未赋值时,默认为undefined。(4)函数没有返回值,则默认返回undefined。
- 符号(Symbol) ES6中引入,表示一个唯一的标识符。
- BigInt:ES2020中引入,用于表示任意精度的整数
null和undefined的区别
Null只有一个值,是null。不存在对象。
Undefined只有一个值,是undefined。没有初始化。undefined是从null中派生出来的。
简单理解就是:undefined是没有定义的,null是定义了但是为空。
JavaScript中的原始数据类型和基本数据类型是同一概念的不同称呼,它们之间没有本质区别。
面向对象编程中一切皆对象(Object),但是对象又分为很多类型(对象属于引用型数据,因此这些分类又叫引用类型)。
内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的最基本而必要的功能(属性和方法),内置对象最大的优点就是帮助我们快速开发
在JavaScript中,内置对象可以在任何地方直接使用,而不需要额外的导入或安装。这些内置对象提供了丰富的功能和方法,方便我们进行各种操作和处理。
全局对象(window)、数据类型对象(String、Array)、日期和时间对象(Date)、以及数学(Math)对象都是常用的内置对象。
二、引用类型
引用数据类型的原型,都是Object类型
- 对象(Object):对象是引用类型的基础,它是一组无序的键值对集合。对象可以使用字面量、构造函数或者Object.create()方法来创建。
- 数组(Array):数组是一种特殊的对象,其中的值按照数字索引(从零开始)进行存储。数组可以使用字面量或Array构造函数来创建。
- 函数(Function):函数可以接收参数,执行一些操作并返回值。可以使用Function构造函数、函数声明或者函数表达式来创建函数。【(1)函数声明、又叫函数定义:function 函数名( 参数列表 ) {函数体};(2)函数表达式,又叫函数字面量:let 函数名 = function xxx(参数列表) { 函数体 };(3)构造函数:let 函数名 = new Function("参数1", "参数2", "参数3", "函数体(return 返回值)");】
- 日期(Date):日期对象用于处理日期和时间,可以获取设置和计算日期和时间。
- 正则表达式(RegExp):正则表达式可以用来匹配和操作字符串。它由一个模式和一些可选的标志组成,可以进行字符匹配、替换和提取等操作。
- 错误对象(Error):let myError = new Error("This is an error message");
- Math对象(内置对象):它是一个内置对象,提供数学函数和常量
- JSON对象:JSON是一种用于表示数据的格式,虽然JSON是一种数据格式,但在JS中,一般解析为对象。【常用方法:JSON.stringify(对象转成JSON字符串),JSON.parse(JSON字符串转为对象)】
- Promise对象:获取异步操作信息。
引用类型保存在堆内存中。
MDN数据类型介绍