原始值和引用值
原始值和引用值的理解
原始值:
表示单一的数据。例如:10,“ABC”,true等.
6种原始值类型有:undefined、Null、Boolean、Number、 String、Symbol
保存原始值的变量是按值访问,操作存储在变量内存中的实际值
(我的理解是基本数据类型)
引用值:
表示有多个值(原始值或者其他引用值)构成的对象。
ES不允许直接访问对象的内存空间
知己操作时,访问的是保存对象的内存地址,即是对该对象的引用。
引用值具有动态属性:可以随时添加删除其属性和方法。
(我的理解是引用数据类型)
值传递:赋值
原始值:
-
原始值(变量、程序运行调用在栈中运行)
- 原始值不能被修改,只能被替换
- 保存原始值的变量是按值访问,操作存储在内存变量中的实际值。
-
引用值(对象存储在堆里)
- 引用值不允许直接访问对象的内存空间。
- 实际操作时访问的是保存对象的内存地址,即该对象的引用。
-
原始值引用值值传递本质无区别:都是将一个变量保存的信息复制给另一个变量。
-
原始值和引用值可以相加
- 做了隐式转换:n+nb.valveof()
- 做了隐式转换:n+nb.valveof()