티스토리 뷰
비구조화 할당이란?
객체 안에 있는 값을 추출해서 변수 혹은 상수로 바로 선언 해줄 수 있는 것.
또한 함수의 파라미터에도 비구조화 할당을 할 수 있다.
const test = { a : 1, b : 2 };
const {a , b} = test;
console.log(a); // 1
console.log(b); // 2
//////////////
const object = { a : 1, b : 2 };
function print({a , b}) {
console.log(a);
console.log(b);
}
print(object)
함수에 전달을 할 때 object에 b값이 주어지지 않는다면 출력을 할 때 undefined가 나타나게 된다.
이런 상황에서 b 값에 기본 값을 주고 싶다면 c++에서 기본 값을 설정하듯이 하면 된다
function print({a, b = 2})
비구조화 할당 시 값 변경하기
const animal = {
name : '멍멍이',
type : '개'
};
const {name : nickname} = animal
console.log(nickname);
animal 객체 안에 있는 name을 nickname이라고 선언을 한다라는 의미.
배열 비구조화 할당하기
const array = [1, 2];
const [one, two] = array;
console.log(one);
console.log(two);
깊은 값 비구조화 할당
const deepObject = {
state: {
information: {
name: 'yoshi',
languages: ['korean', 'english']
}
},
value: 5
};
const { name, languages } = deepObject.state.information;
const { value } = deepObject;
const extracted = {
name,
languages,
value
};
console.log(extracted); // {name: "velopert", languages: Array[3], value: 5}
key이름으로 선언된 값이 존재하면 extracted에 바로 매칭을 시켜줘서 초기화가 된다.
이 문법은 ES6의 object-shorthand 문법
한 번에 안에 들어있는 값을 바로 추출하는 방법
const {
state : {
information : {name, languages}
},
value
} = deepObject
'온라인강의정리하기 > JS' 카테고리의 다른 글
선언적 함수와 익명 함수의 차이점 + arrow함수 (0) | 2019.10.29 |
---|---|
함수의 function과 new Function의 차이점 (0) | 2019.10.29 |
JavaScript 객체 (0) | 2019.08.29 |
JavaScript의 조건문 (0) | 2019.08.29 |
JavaScript 연산자 기초 (0) | 2019.08.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Link
- 안드로이드 스튜디오
- inline
- 정렬
- 조건문
- javascript
- GRID
- 생활코딩#동영상을#글로#html
- 선택자
- 문자열
- 관계형데이터베이스
- HTML
- 언리얼엔진
- 변수
- css
- 알고리즘
- 기초
- PHP&MySQL
- 객체
- php
- 생활코딩
- 언리얼엔진4
- 생활코딩#MySQL
- visual studio code
- 네트워크 프로그래밍
- C언어
- 글로
- 동영상을
- 차이점
- TAG
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함