반응형
자바스크립트에서 다른 객체를 복사해서 새로운 객체를 만들기 위해 assign 메서드를 사용한다.
1. assign
assign 메서드의 첫 번째 인자에는 비어 있는 객체를, 두 번째 인자에는 원본 객체인 origin을 전달한다.
이를 newObj 객체에 할당한뒤 결과를 확인해보면 정상적으로 원본 객체의 값이 복사됨을 확인할 수 있다.
let origin = {
name : "Jinny",
hobby : "piano"
}
let newObj = Object.assign({}, origin)
console.log("My name is " + newObj.name) // My name is Jinny
2. assign 활용하기
원본 객체를 새로운 변수에 할당했을 때, 새로운 변수의 값을 바꾸면 원본 객체의 값도 바뀌게 된다.
let origin = {
name : "Jinny",
hobby : "piano"
}
let newObj = origin
newObj.name = "Jin"
console.log("My name is " + origin.name) // My name is Jin
console.log("My name is " + newObj.name) // My name is Jin
위와같이 원본객체의 값이 덮어씌워지는것을 방지하기 위해 assign 메서드를 활용할 수 있다.
let origin = {
name : "Jinny",
hobby : "piano"
}
let newObj = Object.assign({}, origin)
newObj.name = "Jin"
console.log("My name is " + origin.name) // My name is Jinny
console.log("My name is " + newObj.name) // My name is Jin
#참고사이트
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
반응형
'Frontend > JavaScript' 카테고리의 다른 글
[JS] new Function() (0) | 2021.09.05 |
---|---|
[JS] 자바스크립트 eval( ) (0) | 2021.09.04 |
[JS] 화살표 함수(Arrow Functions) (0) | 2021.08.31 |
[JS] 자바스크립트 유사 배열(Array-Like Object) (0) | 2021.08.29 |
[JS] 원하는 위치에 노드를 삽입하는 함수(insertAdjacentElement) (0) | 2021.08.28 |
최근댓글