一、基本型別
1、基本型別有:undefined / null / number / string / boolean / bigint / symbol
2、基本型別資料放在堆疊記憶體中
3、基本型別資料是不可變的
let str = 'hello,world'
str[0] = 'x'
console.log(str) // 輸出:hello,world 證明第 3 點,資料是不可變的
// 誤區:重新給 str 賦值不代表資料是可變的,其本質是重新開辟一份新的資料放在堆疊記憶體中
str = 'Tony'
二、參考型別
1、參考型別有:Object / Array / Function 等,本質上都是屬于 Object
2、參考型別以:地址: 資料 的映射關系來進行存盤,其中地址放在堆疊記憶體,資料放在堆記憶體,若兩個或 N 個變數指向同一個地址,則共用一份資料,
3、參考型別資料是可變的
const obj = {name: 'Tony'}
obj.name = 'Jack'
console.log(obj.name) // 輸出 Jack 證明第 3 點,資料是可變的
const copyObj = obj // 將 obj 賦給 copyObj 相當于復制 obj 的地址
copyObj.name = 'Tony' // 修改名字
console.log(obj.name) // 輸出 Tony 證明第 2 點,共用同一份資料
三、基本和參考型別的資料存盤結構圖

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/402752.html
標籤:其他
