μλ°μ€ν¬λ¦½νΈμλ λ³΅μ¬ λ°©μμΌλ‘ μμ 볡μ¬
μ κΉμ 볡μ¬
κ° μλ€.
μμ 볡μ¬
λ κ°μ²΄λ₯Όμ°Έμ‘°νλ μ£Όμ κ°
μ 볡μ¬νκ³ ,
κΉμ 볡μ¬
λ κ°μ²΄μμ€μ κ°
μ 볡μ¬νλ€.
μ΄λ¬ν λ°©μμ μ°¨μ΄λ λ°μ΄ν°μ μ’
λ₯μ λ°λΌ μ μ₯νλ λ°©μμ΄ λ¬λΌμ§κΈ° λλ¬Έμ΄λ€.
μλ λ°μ΄ν°μ μ’
λ₯λ₯Ό νμΈν΄λ³΄μ.
μλ°μ€ν¬λ¦½νΈμ λ°μ΄ν°λ μμ νμ λ°μ΄ν°μ μ°Έμ‘° νμ λ°μ΄ν°κ° μ‘΄μ¬νλ€.
μμνμ λ°μ΄ν°
: number, string, null, undefined, bool, symbol
μ°Έμ‘° νμ λ°μ΄ν°
: array, object, function
μμνμ
λ°μ΄ν°
λ μ
λ ₯ λ°μ κ°μ μ§μ μ€ν λ©λͺ¨λ¦¬
μ μ μ₯νλ λ°©μμ΄λ€.
λ°λΌμ μ¬ν λΉμ κ²½μ°, λ°λ‘ λ°μ΄ν°μ κ°μ΄ λ³νλ€. μ¦, μμνμ
λ°μ΄ν°λ κΉμ 볡μ¬
λ§ κ°λ₯ν μ
μ΄λ€.
λ°λ©΄μ μ°Έμ‘°νμ
λ°μ΄ν°
λ μ μ₯νλ λ°©μμ΄ μ΄μ§ λ€λ₯΄λ€. ν λΉν κ°μ μ£Όμ
λ₯Ό μ€ν λ©λͺ¨λ¦¬
μ μ μ₯νλ€. κ·Έλ¦¬κ³ μ€μ λ°μ΄ν°
μ κ°μ ν
μ΄λΌλ λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯ν΄λλ€.
μ΄λ μ°Έμ‘° νμ λ°μ΄ν°(κ°μ²΄, λ°°μ΄)μ λ³κ²½μ λ°λΌ λ¬λΌμ§λ λ©λͺ¨λ¦¬ μμμ μ¬μ©μ μ μ°νκ² νκΈ° μν¨μ΄λ€.
μ°Έμ‘° νμ λ°μ΄ν°μ μμ 볡μ¬
μ°Έμ‘° νμ λ°μ΄ν° κ°μ λ©μλλ₯Ό νΈμΆνκ±°λ μ§μ μ μΌλ‘ κ°μ μΆκ° λ° μμ νλ€λ κ²μ
μ£Όμ
λ₯Ό 볡μ¬νλ κ²μ΄λ―λ‘μμ 볡μ¬
μ ν΄λΉνλ€.
μ°Έμ‘° νμ λ°μ΄ν°μ κΉμ 볡μ¬
νμ§λ§ μ°Έμ‘° νμ λ°μ΄ν° λν
κΉμ 볡μ¬
κ° κ°λ₯νλ€.
λ°λ‘JSON.parse
μJSON.stringify
λ₯Ό μ¬μ©νλ κ²μ΄λ€.
const newArr = JSON.parse(JSON.stringify(arr))
arr λ°°μ΄μ κ°κΉμ§ 볡μ¬νμ¬ newArrμ μλ‘ ν λΉν΄μ£Όμλ€.
-> νμ§λ§ JSON.stringify, JSON.parseλ₯Ό μ¬μ©νλ κ²μ μ±λ₯μ΄ λ리κ³
ν¨μ Math, date κ°μ λ΄μ₯ κ°μ²΄ 볡μ¬λ₯Ό ν μ μμΌλ―λ‘ μ¬μ©μ μ§μνλ κ²μ΄ μ’λ€.
β μ κ° μ°μ°μ (spread λ¬Έλ²) μ ν΅ν μμ 볡μ¬
ex. const newArr = [...arr]
β lodash λΌμ΄λΈλ¬λ¦¬μ νμ©
lodash λΌμ΄λΈλ¬λ¦¬λ λ°°μ΄, μ«μ, κ°μ²΄, λ¬Έμμ΄ λ±μ λ€λ£¨κΈ° μν λ€μν ν¨μλ₯Ό μ 곡νκ³ μλ€.