Data type
數據類型
基本數據類型(6種)
保存在棧內存的簡單數據段,訪問方式為按值訪問。
- String
- Number
- Boolean
- Null
- Undefined
- Symbol(ES6)
其中null與undefined是特殊的數據類型,Null
表示值為空,Undefined
表示沒有定義;
Symbol是在ES6新增加的基本數據類型。
let m = 1;
m = 2; // 操作的是變量m中實際保存的值
let n = m; // 把m復制到n,棧中創建多一個新的變量n,值為m的值1
//然后把m的值2賦予n
m // 1
n // 2
引用數據類型
指保存在堆內存中的對象。訪問方式是按引用訪問。
也就是,變量中保存的只是一個指針,這個指針指向內存中的另一個位置,該位置保存著對象。
const Pet = new Object(); // 變量保存的是一個指針,指向堆內存中保存的對象。
棧內存 |
|
|
堆內存 |
Pet |
引用指針 |
---> |
Object |
// 操作對象時,需要先從棧內存中讀取堆內存地址,然后再找到保存在對內存中的值,再操作。
Pet.name = 'dog';
棧內存 |
|
|
堆內存 |
Pet |
引用指針 |
---> |
Object{name: 'dog'} |
// 復制操作:復制的是棧內存中的指針,復制的指針與原指針指向同一個堆內存中保存的值。
const Animal = Pet;
棧內存 |
|
|
堆內存 |
Pet |
引用指針 |
---> |
Object{name: 'dog'} |
Animal |
引用指針 |
? |
|
// 操作的是引用指針指向的Object
Animal.color = 'red';
Pet // { name: 'dog', color: 'red' }
Animal // { name: 'dog', color: 'red' }
Animal === Pet // true
棧內存 |
|
|
堆內存 |
Pet |
引用指針 |
---> |
Object{name: 'dog',color:'red'} |
Animal |
引用指針 |
? |
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。