前言:一个入行前端开发一年的小白...写的都是自己理解了的内容...希望大神不吝赐教
一、JS 数据类型分为两大类
1. 基本数据类型
2. 引用数据类型
1、基本数据类型
有的也称是 原始数据类型,其中又分7种类型:
- boolean
- number
- string
- undefined
- null
- symbol
- bigint
// 简单示例:
// 1、boolean: 布尔类型只有两个值,常用于条件判断语句:
const boolean = true;
const boolean = false;
// 2、number: (1)正负整数;(2)浮点数;(3)无穷大/无穷小:Infinity / -Infinity;
// (4)特殊的数值类型 :NaN:
// ⑴ NaN 与任何 Number数据类型 做算术运算都得 NaN(包括其本身);
// ⑵ NaN 与任何数值皆不相等,包括 NaN == NaN,返回 false;
const number = 1;
// 3、string: (1). 使用一对单引号(英文符号),将数据包裹起来 :‘abc’;
// (2). 使用一对双引号(英文符号),将数据包裹起来 :"abc";
const string = '啊yellow';
const string = "啊yellow";
// 4、undefined
let a; // undefined
// 5、null: Null 只有唯一的一个值为 null;
// 6、Symbol
const symbol = Symbol('symbol');
2、引用数据类型
有的也称是 对象类型 或 复杂数据类型,其中又分2种:
- Object
- Function
其中 Object 中又包含了很多子类型,比如 Array、RegExp、Math、Map、Set 等等
计算机内存主要缓存数据的空间其三:字符区常量、栈、堆
- 基本数据类型: 数据会和变量名一起储存在 栈 中;
- 引用类型: 数据会被储存在 堆 中,而变量名和数据在堆中的地址则储存在 栈 中;
引用类型值间赋值:该赋值不同与基本类型值之间的赋值。当赋值发生时,拷贝的依然是栈空间内的内容。但由于这是一个地址值,所以两个引用类型变量所指的就是同一个堆空间。此时,变量值改变会相互影响。