[모던 JavaScript 튜토리얼] - [5.10] 구조 분해 할당(Destructuring Assignment)

IRISH·2024년 2월 1일
0

JS

목록 보기
58/80


학습 내용

  • 구조 분해 할당을 사용하면 객체나 배열을 변수로 연결할 수 있습니다.
  • 객체 분해하기: let {prop : varName = default, ...rest} = object object의 프로퍼티 prop의 값은 변수 varName에 할당되는데, object에 prop이 없으면 default가 varName에 할당됩니다. 연결할 변수가 없는 나머지 프로퍼티들은 객체 rest에 복사됩니다.
  • 배열 분해하기: let [item1 = default, item2, ...rest] = array array의 첫 번째 요소는 item1에, 두 번째 요소는 변수 item2에 할당되고, 이어지는 나머지 요소들은 배열 rest 저장됩니다.
  • 할당 연산자 좌측의 패턴과 우측의 구조가 같으면 중첩 배열이나 객체가 있는 복잡한 구조에서도 원하는 데이터를 뽑아낼 수 있습니다.

과제

→ 1번

/* 구조 분해 할당
아래와 같은 객체가 있다고 가정해봅시다.

let user = {
  name: "John",
  years: 30
};
구조 분해 할당을 사용해 아래 미션을 수행해 보세요.

name 프로퍼티의 값을 변수 name에 할당하세요.
years 프로퍼티의 값을 변수 age에 할당하세요.
isAdmin 프로퍼티의 값을 변수 isAdmin에 할당하세요. isAdmin이라는 프로퍼티가 없으면 false를 할당하세요.
미션을 달성하면 아래 예시를 제대로 실행할 수 있게 됩니다.

let user = { name: "John", years: 30 };

// 할당 연산자 좌측에 답안을 작성하시면 되겠죠?

*/
// -------------------------------------------------------
// 해답
let user = {
  name: "John",
  years: 30
};

let {name, years: age, isAdmin = false} = user;

console.log( name ); // John
console.log( age ); // 30
console.log( isAdmin ); // false

느낀점

아무리 배열하고, 객체를 자주 사용한다고 하지만, 구조 분해 할당은 실무에서 잘 쓸 것 같지는 않다.

우선, 프로그래밍을 돌리다보면 DB를 사용할 수밖에 없는게 대다수인데, DB에 다녀온 결과가 얼마나 많을지 모르는 상황 속에서 구조 분해 할당을 시전…한다?

개인적으로는 말이 안된다고 생각한다.

profile
#Software Engineer #IRISH

0개의 댓글