ES6 - Day 2 (배열 의 해체 할당)

3359 단어 ECMAScript(ES6)ES6
1、Destructuring
ES6 는 일정한 패턴 에 따라 배열 과 대상 에서 값 을 추출 하고 변 수 를 할당 하 는 것 을 '재 구성' 이 라 고 합 니 다.
2. 불완전 해체
등호 왼쪽 모드 는 일부 등호 오른쪽 배열 과 만 일치 합 니 다.
3. 기본 값 지정
주의: ES6 내부 에 서 는 엄격하게 같은 연산 자 (= = =) 를 사용 하여 한 위치 에 값 이 있 는 지 판단 합 니 다.따라서 한 배열 의 구성원 이 엄격 하지 않 으 면 undefined 와 같 지 않 으 면 기본 값 은 적용 되 지 않 습 니 다.
4. let 와 const 명령
어떤 데이터 구조 가 lterator 인 터 페 이 스 를 가지 고 있다 면, 모두 수조 형식의 구조 값 을 사용 할 수 있다.
(1) 배열 재 구성

//ES5
//var a =1;
//var b=2;
//var c=3;

//ES6
var [a,b,c] = [1,2,3];

console.log(a);
console.log(b);
console.log(c);

결과: 1
      2
      3
(2) 대응 위치
let [foo,[[bar],base]] = [1,[[2],3]];
console.log(foo);    //1;
console.log(bar);    //2
console.log(base);  //3

let[, , third] = ["first",'second","third"];
console.log(third);  //third

let[one, ,three] = ["One","Two","Three"];
console.log(one);     //One
console.log(three);   //Three

let [head,...tail] = [0,1,2,3,4,5,6,7,8,9];
console.log(head);     //0
console.log(tail);     //[1,2,3,4,5,6,7,8,9]

(3)


let [x,y] = [1,2,3];
console.log(x);    //1
console.log(y);    //2

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

(4) 기본 값 지정

var [temp = "string"] = [];
console.log(temp);     //string

var [temp = "string"] = ["tempString"];
console.log(temp);     //tempString

var [x="aaa",y] = ["bbb"];
console.log(x);      //bbb
console.log(y);     //undefined

var [m,n="aaa"] = ["bbb"];
console.log(m);    //bbb
console.log(n);     //aaa

var [p,q="aaa"] = ["bbb",undefined];
console.log(p);     //bbb
console.log(q);     //aaa

해석: 상기 사례 를 통 해 알 수 있 듯 이 하나의 값 만 부여 하면 이전의 값 을 덮어 씁 니 다.이전에 정의 되 지 않 으 면 "undefined" 가 표 시 됩 니 다.이전 변수 에 값 이 있 으 면 undefined 를 강제로 할당 하면 아무런 영향 을 주지 않 습 니 다.
(5) 옮 겨 다 니 지 않 는 구조 - 오류 보고

var [temp1] = 1;   //1 is not a function at eval
var [temp2] =false;  //false is not a function at eval
var [temp3] =NaN;
var [temp4] = undefined;  //Cannot read
var [temp5] =null;

(6) let 와 const 명령 - Iterator 인터페이스

let [a,b,c] = new Set(["a","b","c"]);
console.log(a);  //a
console.log(b);  //b
console.log(c);  //c
//        ,       ;

function* fibs(){    //    
let a=0;
let b=1;
while(true){
yield a;
[a,b] = [b,a+b];
}
};
var [first,second,third,fourth,fifth,sixth] = fibs();
console.log(sixth);   //5  

해석: 상기 코드 에서 함수 fibs () 는 포인터 에 대해 색인 을 할 수 있 습 니 다. 아래 표 시 된 값 에 대응 하 는 것 은 바로 배열 형식 에서 의 구조 할당 을 해제 하고 배열 의 할당 을 재 구성 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기