π§π»π» κ°λ°κ°λ°/javascript
μμ 볡μ¬(Shallow Clone)
Seungjae Lee
2021. 6. 9. 22:57
μμ 볡μ¬(Shallow Clone)
- Object.assign()
μ°μ , κ°μ²΄μ μμ±μ 볡μ¬ν λ μ¬μ©νλ Object.assign()μ λλ€.
첫λ²μ§Έ μΈμλ‘ λ€μ΄μ€λ κ°μ²΄μλ€κ° λλ²μ§Έ μΈμλ‘ λ€μ΄μ€λ κ°μ²΄μ νλ‘νΌν°λ€μ 볡μ¬ν©λλ€.
const obj = { a: 1, b: 2 }
const target = { c: 3 }
const copiedObj = Object.assign(target, obj)
console.log(copiedObj) //{c: 3, a: 1, b: 2}
Object.assign()μκ²λ νκ°μ§ λ¬Έμ μ μ΄ μλλ°μ.
볡μ¬νλ €λ κ°μ²΄μ λ΄λΆμ μ‘΄μ¬νλ κ°μ²΄λ μμ ν 볡μ¬κ° μ΄λ£¨μ΄μ§μ§μλλ€λ μ μ λλ€.
const person = {
age: 100,
name: {
first: "junwoo", last: "park",
},
}
const copied = Object.assign({}, person)
person.age = 1000
person.name.first = "paul"
console.log(copied.age) // 100
console.log(copied.name.first) // 'paul'
personκ°μ²΄μ νλ‘νΌν°λ₯Ό λ°κΏ¨λλ, copied κ°μ²΄μ νλ‘νΌν°κ° λ°λκ²μ λ³Ό μ μμ΅λλ€.
https://junwoo45.github.io/2019-09-23-deep_clone/
μλ°μ€ν¬λ¦½νΈ κ°μ²΄ 볡μ¬νκΈ°
μλ°μ€ν¬λ¦½νΈμμ κ°μ²΄λ₯Ό 볡μ¬νλ λ°©λ²μ μ°Έ λ§μ΅λλ€.
junwoo45.github.io