기록하는 개발자

<React 파헤치기-06> ES6주요문법 - 4. 객체확장표현과 구조분해할당 본문

Web/React

<React 파헤치기-06> ES6주요문법 - 4. 객체확장표현과 구조분해할당

밍맹030 2021. 12. 11. 14:13
728x90

객체확장표현

JS문법에서 사용되는 key-value 데이터 형식의 객체를 확장하여 표현할 수 있다.

// <1>
const a = 0;
const b = 0;
let number = { a, b };

// <2>
let favoriteString = 'favorite';
let myColors = {
	['my'+favoriteString] : 'ivory',
};

// <3>
let count = {
	add(x,y) {console.log(x+y);},
	mul(x,y) {console.log(x*y);},
};

1 - 객체의 변수를 선언 할 때 key 값을 생략하면 자동으로 키의 이름으로 키값을 지정해준다.

     ex) number = { a : a, b : b }

2 - 객체 생성 시 블록 내에 대괄호 [] 를 사용하여 계산된 key 값을 사용할 수 있다.

3 - function 키워드없이 객체 내 함수를 선언할 수 있다.

 

 

구조분해할당

배열, 객체의 선언 및 할당에 유용하다.

//<1>
const list = [ 10, 20 ];
let [
    a,
    b,
    c=0,
] = list;

// <2>
[a, b] = [b, a]

// <3>
let [ zero, ...others] = [ 0, 10, 100, 1000 ];
let { first, ...otherKeys } = { first:'black', second:'white', third:'yellow' };

// zero = 0, others = [10,100,1000];
// first = {first:'black'} otherKeys = {second:'white', third:'yellow'}

1 - 객체에서 추출하고자 하는 값의 인덱스 위치에 a, b 와 같이 변수 이름을 지정할 수 있고, c와 같이 기본값을 할당할 수도 있다.

2 - swap을 편하게 구현할 수 있다.

3 - 구조분해할당은 전개 연산자와 같이 잘 사용되며 JSON 데이터 변환에 유용하다.

728x90