值類型和引用類型
值類型和引用類型
1.0 值類型:
const a = 10
const b = a
console.log(b) // 10
2.0 引用類型:
const a = { age: 21 }
let b = a
b.age = 100
console.log(a.age) // 100
3.0 深入分析
值類型佔用空間較小,是存儲在棧中
引用類型佔用空間可能很大,是存儲在堆中
4.0 常見值類型
let u // undefined
const n = 100 // number
const s = "" // string
const b = true // boolean
const S = Symbol('') // Symbol
5.0 常見引用類型
const obj = { x: 21}
const arr = [1, 2, 3, '4']
const n = null // 特殊引用類型,指針指向空地址
// 特殊引用類型,但不用於存儲數據,所以沒有「拷貝、複製函數」這一說法
function fn() {}
typeof 能判斷哪些類型
typeof 運算符
- 識別所有值類型
- 識別函數
- 判斷是否是引用類型(不可再細分)
// 值類型
let u // undefined
const n = 100 // number
const s = "" // string
const b = true // boolean
const S = Symbol('') // Symbol
// 函數
typeof console.log // function
typeof function() {} // function
// 能識別引用類型(不能再繼續識別)
typeof null // object
typeof [1, 2] // object
typeof { x: 21 } // object