- π μμκ°κ³Ό μ°Έμ‘°κ°
- π κΉμλ³΅μ¬ (Deep Copy)
- π μμλ³΅μ¬ (Shallow Copy)
- π μ°Έμ‘°
μμκ°μ κΈ°λ³Έμλ£νμ΄λ€. (Number, String, Boolean, Null, Udefined)λ±μ΄ ν΄λΉλλ€.
μ΄λ¬ν μμκ°μ μ μ₯νλ©΄ λ³μμ λ©λͺ¨λ¦¬ 곡κ°μ μ€μ λ°μ΄ν° κ°μ΄ μ μ₯λλ€. λ°λΌμ κ°μ λ³κ²½νκ±°λ μ‘°μνλ €νλ©΄ μ μ₯λ μλ³ΈμΈ μ€μ κ°μ΄ μ‘°μλκ² λλ€.
μ°Έμ‘°κ°μ λ©λͺ¨λ¦¬μ μ μ₯λ κ°μ²΄μ΄λ€. (Object, Symbol)λ±μ΄ ν΄λΉλλ€.
μ΄λ¬ν μ°Έμ‘°κ°μ μ μ₯νκ² λλ©΄ λ©λͺ¨λ¦¬ 곡κ°μ κ°μ μ μ₯νκ³ , μ μ₯λ λ©λͺ¨λ¦¬ 곡κ°μ μ°Έμ‘°κ°(μμΉκ°)μ μ μ₯νκ² λλ€.
λ°λΌμ κ°μ μ‘°μνλ κ²μ μ¬μ€, κ°μ²΄λ₯Ό μ‘°μνλ κ²μ΄ μλλΌ κ°μ²΄μ μ°Έμ‘°λ₯Ό μ‘°μνλ κ²μ΄λ€.
μμκ°μ 볡μ¬νκ² λλ©΄, ν΄λΉ 볡μ¬λ κ°μ΄ μλ‘μ΄ λ
립μ μΈ λ©λͺ¨λ¦¬μ ν λΉλκ² λλ€. λ°λΌμ, 볡μ¬λ₯Ό νκ³ μμ μ ν΄λ μ΅μ΄ κ°μ λ³νμ§ μλλ€.
μ΄μ κ°μ΄ μ€μ κ°μ 볡μ¬νμ¬ μλ‘μ΄ λ©λͺ¨λ¦¬μ ν λΉνκ³ λ
립μ μΌλ‘ μ‘°μμ΄λλ κ²μ΄ κΉμ 볡μ¬
μ΄λ€.
const a= 'one'; let b = "two"; b= 'three'; console.log(a) // 'one' console.log(b) // 'three'
μ°Έμ‘°κ°μ 볡μ¬νκ² λλ©΄, λ³μκ° κ°μ²΄μ μ°Έμ‘°μ£Όμλ₯Ό κ°λ¦¬ν€κ³ μκΈ° λλ¬Έμ 볡μ¬λ μλ‘μ΄ λ³μλ ν΄λΉ μ°Έμ‘°μ£Όμλ₯Ό κ°λ¦¬ν€κ² λλ€. λ°λΌμ κ°μ²΄λ₯Ό μμ νκ² λλ©΄ κ°λ¦¬ν€κ³ μλ μ£Όμκ° κ°μ κΈ°μ‘΄ μλ³Έ κ°μ²΄μ κ°μ λ³λμ΄ μκΈ΄λ€.
μ΄μ²λΌ κ°μ²΄μ μ£Όμκ°μ 볡μ¬νλ κ²μ μμ 볡μ¬
λΌκ³ νλ€.
const obj = { name: "νκΈΈλ", age: 25 } let obj2 = obj; obj.name = "μ² μ"; console.log(obj) // {name: "νκΈΈλ", age: 25} console.log(obj2) // {name: "νκΈΈλ", age: 25}