일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 백준알고리즘
- 프로그래밍언어
- C++
- 독후감
- Java
- 프로그래머스 알고리즘 공부
- 서평
- 알고리즘공부
- 경제
- 성분
- 투자
- 다독
- 알고리즘 공부
- 채권
- 자바스크립트
- 돈
- 독서
- 책을알려주는남자
- 지혜를가진흑곰
- 재테크
- JavaScript
- C
- 알고리즘트레이닝
- algorithmStudy
- algorithmTest
- 책알남
- algorithmtraining
- 주식
- 화장품
- 자바
Archives
- Today
- Total
탁월함은 어떻게 나오는가?
구조 분해 할당(destructuring)이란? 본문
반응형
MDN 에서는 구조분해 할당은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식이다. 라고 정의한다.
구조 분해 할당이 필요한 이유는 개발을 하다 보면 함수에 객체나 배열을 전달해야 하는 경우가 생긴다. 가끔은 객체나 배열에 저장된 데이터 전체가 아닌 일부가 필요한 경우가 생기는 것처럼 말이다.
이럴 때 객체나 배열으 ㄹ변수로 '분해'할 수 있게 해주는 문법이 구조 분해 할당(destructuring assignment) 을 사용하면 된다. 이 외에도 함수의 매개 변수가 많거나 기본값이 필요한 경우 등에서 구조 분해를 사용하기도 한다.
배열 분해 예제)
1
2
3
4
5
6
7
8
9
10
11
12
|
let arr = ["JungHyun", "Lee"]
let [firsName, surname] = arr;
alert(firstName); //JungHyun
alert(sername); //Lee
//구조 분해 할당을 사용하지 않으면 밑에처럼 직접할당해야한다.
// let [firsName, surname] = arr;
let firstName = arr[0];
let surname = arr[1];
|
cs |
배열에서 변수 재할당 예제)
1
2
3
4
5
6
7
|
const fruit = ['WaterMelon', 'Grape']
const [Apple, Orange] = fruit
console.log(Apple) //WaterMelon
console.log(Orange) //Grape
console.log(fruit) //['WaterMelon', 'Grape']
|
cs |
구조분해문법에 REST문법이 들어갈경우 예제)
1
2
3
4
5
|
// 구조분해할당을 위해 REST문을 사용했지만, ...bName 대신 ...rest
// 사용하는 경우도 많다. 다만 바꿔도 상관은 없다.
const [aName, ...bName] = ['dama', 'jjung', 'dom', 'eddy']
console.log(aName) // 'dama'
console.log(BName) // [ 'jjung', 'dom', 'eddy' ]
|
cs |
반응형
'[Snow-ball]프로그래밍(컴퓨터) > 프로그래밍 및 컴퓨터 개론 이론' 카테고리의 다른 글
JPA Repository를 사용하는 이유 (0) | 2021.06.18 |
---|---|
[ERROR] Error running 'LeejunghyunshopApplication': Command line is too long. Shorten command line for LeejunghyunshopApplication or also for Spring Boot default configuration? (0) | 2021.05.23 |
ScaleUp(스케일업)과 ScaleOut(스케일아웃)의 차이 (0) | 2021.04.15 |
stateless(무상태) 란? (0) | 2021.04.15 |
함수형 프로그래밍(functional programming or FP) 이란? (0) | 2021.03.17 |
Comments