[JS] Object 메소드

HYEJIN·2022년 7월 17일
0

자바스크립트

목록 보기
4/10

1) Object.assign() : 객체 복제

이렇게 = 으로 할당을 할 경우 주소값을 참조하게 되어 같은 곳을 가리키게됨

따라서 cloneUser 가 name이 바뀔경우 user도 함께 바뀌게됨

const newUser = Object.assin({},user); // (target, 붙여줄 객체 )
new User.name = 'Tom';
console.log(user.name); //'Mike'

병합을 하는데 key가 동일할 경우 병합되는 것으로 덮어씌워짐

예시 1 )

const user = {
  name : 'Mike',
}
const info1 = {
  age : 30,
}
const info2 = {
  gender : 'male',
}

Object.assign(user,info1,info2);
console.log(user)

user객체에는 name, age, gender의 프로퍼티가 포함되어짐.

예시 2 )

const user4 = {}; // target
Object.assign(user4, user);  //(target,source)
// target : user4 , source : user 
console.log(user4);

target은 user4 / user4에 user가 병합되어 user4가 변경됨

예시3)

//Object.assign(dest, [obj1, obj2, obj3...])

const user4 = Object.assign({}, user);
// target : {}: 텅텅비어진 오브젝트 , source : user
console.log(user4);

빈 객체가 target일 경우는 만들어진 결과를 받을 변수가 있어야함.


예시 4) 여러개 source 전달

// another example
const fruit1 = { color: 'red' };
const fruit2 = { color: 'blue', size: 'big' };
const mixed = Object.assign({}, fruit1, fruit2);
console.log(mixed.color); // blue
console.log(mixed.size);  // big
  • 뒤에 나오는 것이 동일한 프로퍼티가 있다면 값이 덮어씌워짐

2) Object.keys() : 키 배열로 반환

3) Object.values() : 값 배열로 반환

4) Object.entries() : 키/값 배열로 반환

const user = {
  name : 'Mike',
  age : 30,
  gender : 'male',
}

console.log(Object.keys(user)) // ["name", "age", "gender"]
console.log(Object.values(user)) // ["Mike", 30, "male"]

console.log(Object.entries(user))
//[["name", "Mike"], ["age", 30], ["gender", "male"]]

5) Object.fromEntries() : 키/값 배열→ 객체로

const arr = [["name", "Mike"], ["age", 30], ["gender", "male"]];

const user = Object.fromEntries(arr);
console.log(user);

배열을 객체의 형태로 변환시켜줌.

0개의 댓글