본문 바로가기

푸로그래밍/JS

[JS] ES6 구조분해할당

반응형

배열, 객체의 값을 각각의 변수에 담을 수 있다.

ES6이라 킹터넷 갓스플로러는 안됨. 사실 익스는 ES5코드도 실행하는데 장애가 있다.

 


let a, b;
[a, b] = [10, 20];
console.log(a, b);  // 10, 20

이렇게 변수를 교환할 수 있다.

 


let a, b, arr;
[a, b, ...arr] = [0, 1, 2, 3, 4, 5];
console.log(a, b, arr);  // 0, 1, [2, 3, 4, 5

이렇게 전개식을 사용할수도있다.

 


let a, b;
{a, b} = {b: 123, a: 456}
console.log(a, b); // 456, 123

Object도 ㅆㄱㄴ

Object는 Key값에 의해 매칭된다.

 


let a, b, obj;
{a, b, ...obj} = {b: 123, a: 456, c: 'cVal', d: 'dd치킨'}
console.log(a, b, obj); // 456, 123, {c: 'cVal', d: 'dd치킨'}

Object에서도 전개식을 사용할 수 있다.

매칭되지 않은 Key값이 모인다.

 


let a, b;
[a, b = 1026] = [10];
console.log(a, b);  // 10, 1026

기본값을 정할 수 있다. Object도 된다.

 

 

javscript에서의 ...은 전개식이다.

function test(a, b, ...wjsrotlr){
    console.log(a);
    console.log(b);
    console.log(wjsrotlr);
}

test(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

정보) 이렇게 된다.

반응형