본문 바로가기

ECMAScript 2015, ECMAScript 6th Edition

7. destructuring

딱히 설명할 것이 없어서 샘플코드로만 대체하려 한다.

 변수를 특정 구조에 맞게 작성하고, 그에 따른 구조에 맞게 값을 할당하면 그 모습 그대로 들어간다는 것을 보면 될듯하다.


Sample

Array Matching

let values = [1,2,3];

let one, two;

[one, two] = [values];
console.log(one+ ',' + two);
//1, 2 가 출력
let three, four;
[one, two, three, four] = [values];
console.log(one+ ',' + two+ ',' + three+ ',' + four);
//1,2,3,undefined 가 출력 
[one, two, [three, four]] = [1,2, [73, 74]];
[one, , three, ...spd] = [1,2,3,4,5];
//one == 1
// three == 3
// spd = [4,5]



Object Matching

let {one, two} = {one: 10, two : 20 };
let three, four;
({three, four} = {three:3, four: 4});
//프로퍼티 이름을  별도로  선언한 경우
//소괄호() 안에 변수 이름과 표현식 작성 
let five, six;
({one:five, two:six} = {one:5, two:6});
//five == 5, six == 6

let {nine, plus:{ten}} = {nine:9, plus:{ten:10}};

Parameter Context Matching

function f ([ name, val ]) {
    console.log(name, val)
}
function g ({ name: n, val: v }) {
    console.log(n, v)
}
function h ({ name, val }) {
    console.log(name, val)
}
f([ "bar", 42 ])
g({ name: "foo", val:  7 })
h({ name: "bar", val: 42 })


'ECMAScript 2015, ECMAScript 6th Edition' 카테고리의 다른 글

9. for of  (0) 2016.09.25
8. Enhanced Object ProPerties  (0) 2016.09.15
0. 김영보 선생님 강의 후기  (0) 2016.09.11
6. Array-like  (0) 2016.09.07
5. rest  (0) 2016.09.07