📢 어렵고 정석적인 개념 설명보다는 저같은 초보자도 이해하기 쉽게 정리하는 것을 원칙으로 포스팅하고 있습니다. 😄
[JavaScript] 배열과 객체의 비구조화 할당 (구조 분해 할당)
JavaScript
2022. 5. 8. 00:04
배열의 비구조화 할당
배열 선언 및 호출
const [apple, banana, grape] = ['apple1', 'banana1', 'grape1'];
console.log(apple); // apple1
console.log(banana); // banana1
console.log(grape); // grape1
변수명과 값을 배열 형식으로 한꺼번에 선언할 수 있다.
나머지 패턴
const fruitList = ['apple', 'banana', 'grape'];
const [apple1, ...rest] = fruitList;
console.log(apple1); // apple
console.log(rest); // ['banana', 'grape']
전개 연산자를 통해 나머지 변수들을 따로 분리시킬 수 있다.
기존 배열 값을 변수에 한 번에 할당
const fruit = ['apple', 'banana', 'grape'];
const [apple1, banana1, grape1] = fruit;
console.log(apple1); // apple
console.log(banana1); // banana
console.log(grape1); // grape
배열값을 담은 변수를 이용하여 각각의 변수에 한 번에 할당시킬 수 있다.
객체의 비구조화 할당
객체 선언 및 호출
const {apple, banana, grape} = {
apple: 'apple1',
banana: 'banana1',
grpae: 'grape1'
};
console.log(apple); // apple1
console.log(banana); // banana1
console.log(grape); // grape1
객체 형식으로도 변수에 값을 한 번에 할당시킬 수 있다.
나머지 패턴
const {apple, ...rest} = {
apple: 'apple1',
banana: 'banana1',
grape: 'grape1'
}
console.log(apple); // apple1
console.log(rest); // {banana: 'banana1', grape: 'grape1'}
배열 형식과 비슷하게 전개 연산자를 이용하여 나머지 변수들을 한 번에 묶을 수 있다.
기존 객체 값을 변수에 한 번에 할당
const fruit = {
apple: 'apple1',
banana: 'banana1',
grape: 'grape1'
}
const {apple, banana, grape} = fruit;
console.log(apple); // apple1
console.log(banana); // banana1
console.log(grape); // grape1
객체 값을 가진 변수를 이용하여 각각의 변수에 한 번에 할당시킬 수 있다.
객체의 프로퍼티 값을 새로운 이름의 변수로 할당하기
const users = {name: 'kim', age: 20, sex: 'male'};
const {name: user} = users;
console.log(user); // 'kim'
위에서는 객체 안의 key 값의 이름을 그대로 변수 이름으로 해서 저장하는 방법만 나와있었다.
하지만, 객체 안의 key 값을 그대로 변수명으로 지정하는 게 아닌 새 이름의 변수로 객체의 value 값을 할당할 수도 있다.
{name: user} 라고 변수를 선언하면, user가 새 변수명이 되고 name이 객체의 key 값이 된다.
이런 식으로 객체의 프로퍼티를 새로운 변수 이름으로 따로 저장할 수도 있구나라는 것도 알아두면 좋다.
1. 비구조화 할당이란, { } = { }, [ ] = [ ] 식의 변수 선언(할당)이다.
2. 배열이나 객체를 담은 기존의 변수를 이용하여 여러 변수들에게 한 번에 할당이 가능하다.
'JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 DOM 객체 조작하기 (CRUD) (0) | 2022.05.14 |
---|---|
[JavaScript] 배열안의 중복 원소 제거하기 (filter, indexOf) (0) | 2022.05.11 |
[JavaScript] 자기 안에 저장소를 가지고 있는 reduce() (0) | 2022.05.02 |
[JavaScript] 비동기 처리 Promise, async-await 문법 맛보기 (0) | 2022.04.23 |
[JavaScript] 비교하며 알아보는 for~in과 for~of 문법 (0) | 2022.04.20 |