JS 전문가되기 //Day012

남형진·2021년 1월 17일
0

JS 전문가되기

목록 보기
12/13
post-thumbnail

1. Object.method

오늘은 객체에 적용할 수 있는 유용한 메소드들을 정리할 것이다.

1-1. Object.assign()

객체복제 메소드다.

const user = { name: 'Tom', age: 19 }
const userClone = Object.assign({}, user);

만약 해당 메소드를 이용하지 않고,
userClone = user 이런식으로 복제를 하면 편하지 않냐?
아니다. 이런 식의 방법은 논리적으로 말이 안된다.
왜냐하면 user에는 객체 자체가 들어있는게 아니라
객체의 주소가 들어가 있는 것이기 때문에 이런식으로 복제하면 userClone과
주소값을 공유하는게 되버린다. (하나의 객체를 둘이서 공유)

parameter: assign(초기값, 복제할 객체);

const user = { name: 'Tom' };
const info1 = { age: 19 };
const info2 = { gender: 'male' };
const result = Object.assign(user, info1, info2);
console.log(result); // { name: 'Tom', age: 19, gender: 'male' }

세개도 가능하다.

1-2. Object.keys(), Object.values()

const user = { name: 'Tom', age: 19 };
Object.keys(user); // ['name', 'age']
Object.values(user); // ['Tom', 19]

keys는 객체 내의 키값만 가져와 배열로 리턴해주고,
values는 객체 내의 밸류값만 가져와 배열로 리턴해준다.

1-3. Object.entries(), Object.fromEntries()

const user = {
  name: 'Tom',
  age: 19,
  gender: 'male'
}
Object.entries(user)
// [
//   ["name", "Tom"],
//   ["age", 19],
//   ["gender", "male"]
// ]

먼저 entries 메소드는 키/값을 배열로 반환해주는 메소드다.

const arr =
[
   ["name", "Tom"],
   ["age", 19],
   ["gender", "male"]
]
Object.fromEntries(user)
// {
//   name: 'Tom',
//   age: 19,
//   gender: 'male'
// }

formEntries는 반대로 키/값 배열을 객체로 반환해준다.

profile
세상을 바꾸는 한줄의 코드를 작성하는 개발자

0개의 댓글