//////
Search
🥲

assign, defineProperties

Created
2023/05/24 12:46
Tags
Date
2023/05/23

Object.assign(target, ...source)

source 객체들을 복사해 target에 붙여넣는다.
const target = { a : 1, b : 2 } const source = { b : 3, c : 4 } const returnTarget = Object.assign(tartget, source); console.log(returnTarget)//{ a : 1, b : 3, c : 4 } console.log(returnTarget === target)// true; //assign 메서드는 불변성을 가지고 있지 않아 target객체와 //returnTarget객체는 모두 같은 주소값을 가졌으며 같은 객체를 바라보고 있다.
JavaScript
복사

Object.defineProperties()

객체에 새로운 속성을 부여하거나 기존의 속성을 수정하고 그 객체를 반환
//객체 생성 const obj = {}; // Object.defineProperties(obj, { //name 속성을 부여하였으며 값은 10 할당, 수정 불가능 name: { value : 'kim', writable: false }, //age 속성을 부여하였으며 수정가능 age : { value : 20 , writable : true } }); console.log(obj.name);//kim console.log(obj.age);//20 //obj의 name 속성을 park으로, age 속성을 30으로 수정 obj.name = 'park'; obj.age = 30; console.log(obj.name);//kim console.log(obj.age);//30 //name속성은 수정이 안되는것을 확인할 수 있다. writable을 false로 사용하여 객체 내부의 값을 함부로 수정하지 못하게 막았기 때문이다.
JavaScript
복사