持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情
前言
本文主要介绍了JavaScript 两种数据类型值类型、引用类型。并介绍了值类型与引用类型的存储区别。
JS数据类型
JS有两种数据类型分别为值类型,引用类型
- 值类型:Number、String、Boolean、Null、 Undefined、Symbol(ES6);
- 引用类型:Object;
值类型
值类型存放在栈中,可以直接按值访问。
let a = 20;
let b = a;
a = 10;
console.log(b); //20
值类型在栈中存储值,示意图:
引用类型
引用类型数据在栈内存中保存引用地址,通过引用地址查找到堆内存中的对象。
let a = { name: "zhangsan"};
let b = a;
a.name = "张三";
console.log(b); //{name: "张三"}
引用类型在栈中存储保存引用地址,示意图:
通过引用地址查找到堆内存中的对象,示意图:
const a = { name: "zhangsan", age: 18};
const b = a;
let c = a.name;
b.age = 20;
c = "张三";
console.log(b); //{name: "zhangsan", age: 20}
值类型和引用类型区别
-
值类型存放在栈中,可以直接按值访问;
-
引用类型数据在栈内存中保存引用地址,通过引用地址查找到堆内存中的对象;
总结
- 值类型:Number、String、Boolean、Null、 Undefined、Symbol(ES6);
- 引用类型:Object;
- 值类型存放在栈中,可以直接按值访问;
- 引用类型数据在栈内存中保存引用地址,通过引用地址查找到堆内存中的对象;
结语
本小节到此结束,谢谢大家的观看!
如有问题欢迎各位指正