Node.js數(shù)據(jù)類型

Data type

數(shù)據(jù)類型

基本數(shù)據(jù)類型(6種)

保存在棧內(nèi)存的簡單數(shù)據(jù)段,訪問方式為按值訪問。

  • String
  • Number
  • Boolean
  • Null
  • Undefined
  • Symbol(ES6)

其中null與undefined是特殊的數(shù)據(jù)類型,Null表示值為空,Undefined表示沒有定義;
Symbol是在ES6新增加的基本數(shù)據(jù)類型。

let m = 1;
棧內(nèi)存
m 1
m = 2; // 操作的是變量m中實(shí)際保存的值
棧內(nèi)存
m 2
let n = m; // 把m復(fù)制到n,棧中創(chuàng)建多一個(gè)新的變量n,值為m的值1
棧內(nèi)存
m 1
n 1
//然后把m的值2賦予n
m // 1
n // 2
棧內(nèi)存
m 1
n 2

引用數(shù)據(jù)類型

指保存在堆內(nèi)存中的對(duì)象。訪問方式是按引用訪問。
也就是,變量中保存的只是一個(gè)指針,這個(gè)指針指向內(nèi)存中的另一個(gè)位置,該位置保存著對(duì)象。

  • Object
const Pet = new Object(); // 變量保存的是一個(gè)指針,指向堆內(nèi)存中保存的對(duì)象。
棧內(nèi)存 堆內(nèi)存
Pet 引用指針 ---> Object
// 操作對(duì)象時(shí),需要先從棧內(nèi)存中讀取堆內(nèi)存地址,然后再找到保存在對(duì)內(nèi)存中的值,再操作。
Pet.name = 'dog';
棧內(nèi)存 堆內(nèi)存
Pet 引用指針 ---> Object{name: 'dog'}
// 復(fù)制操作:復(fù)制的是棧內(nèi)存中的指針,復(fù)制的指針與原指針指向同一個(gè)堆內(nèi)存中保存的值。
const Animal = Pet;
棧內(nèi)存 堆內(nèi)存
Pet 引用指針 ---> Object{name: 'dog'}
Animal 引用指針 ?
// 操作的是引用指針指向的Object
Animal.color = 'red';
Pet // { name: 'dog', color: 'red' }
Animal // { name: 'dog', color: 'red' }
Animal === Pet // true
棧內(nèi)存 堆內(nèi)存
Pet 引用指針 ---> Object{name: 'dog',color:'red'}
Animal 引用指針 ?
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容