mutate는 변화, mutable는 변화 가능한, mutability는 변화 가능성을 의미하는 단어이다.
원시 데이터와 참조형 데이터
원시 데이터(String, Number, Boolean, undefinde, null)는 불변값이고,
참조형 데이터(Object, Array, Function)는 가변값이지만 설정에 따라 변경불가 할 수 있고 불변값으로 활용할 수 있다.
원시 데이터
let a = 1
let b = 4
console.log(a, b, a === b)
b = a
console.log(a, b, a === b)
a = 7
console.log(a, b, a === b)
let c = 1
console.log(b, c, b === c)
참조형 데이터
let a = { k: 1 }
let b = { k: 1 }
console.log(a, b, a === b)
a.k = 7
b = a
console.log(a, b, a === b)
a.k = 2
console.log(a, b, a === b)
let c = b
console.log(a, b, c, a === c)
a.k = 9
console.log(a, b, c, a === c)