ES6 변수 및 해체 (b)

변수 사용하는 문 [ 테스트 샘플 노드 환경에서 테스트하는 브라우저 환경이 코드 ES6와 완벽하게 호환되지 않습니다 ]
코드의 조각, 패키지의 내용을 포함하기 위해 사용될 수있다 ES6 {} {}는 호출 코드 블록 ( 로컬 영역 )

송출 키워드  [ 변수 선언 ]
특성 :
1. 블록 레벨 범위 [ 로컬를 명령 블록에서 ]
[개선 변수 선언하지 2. 변수를 사용할 수없는 변수 선언되지 전에 ]
3. [일시 데드 존 변수 선언 영역의 앞 ]
4. 문 [반복하지 같은 변수 선언을 반복 할 수 없습니다 동일한 코드 블록을 }

CONST 키워드를     [ 상수 선언 (일반적으로 일정한 대문자를 의미 )]
: 특성 [ 준수 선언을 할 수있는을 특성 변수는 다음 두 가지의 특성을 추가 ]
1 [초기화 선언 문이 동시에 할당해야 ]
2, 및 편집 할 수없는

두 해체
1 해체 어레이 할당 [ 좌측 일치 떠날때 값이 정의되어, 오른쪽의 값이고, 변수 ]
완전히 해체되지 [ 정확히 일치하는 데이터에 대해 ]
예를 :

    하자 [A, B, C = [1,2,3];


불완전한 해체 [ 다른 데이터에 대해 ]
A는, 데이터가 오직 값이 정의되는 변수 선언보다 왼쪽
(B), 추가 데이터 엔트리의 오른쪽 측면을 고려하지 않고 무시
예를 :

    하자 [A, B], D = [1, [2, 3, 4;     // A = 1; B = 2; D = 4


해체 세트 { 이용한 확장 연산기는 ... ]
A는, ... 꼬리 전류가 모두 오른쪽 조성물 값 비교할 배열 반환
등을 :

    송출 [헤드, 테일 ...] = [1,2 ,. 3 ,. 4.]; // 헤드 = 1]. 꼬리 = 2 ,. 3 ,. 4] 
    //이 축적 동작 
    송출 된 SUM = 0 ;
     기능 테스트 (... ARR) {
         // 확장 연산기 배열의 형태로 수신 REST 파라미터 파라미터 ------> 객체 인수 어레이 매개 변수의 사용을 권장되지 파라미터 리턴 
        // , ARR = 1,2,3,4 . (5)] 
        에 대해 (I = 0 송출; I는 <arr.length; I는 ++ ) { 
            SUM + = ARR [I]; 
        } 
    } 
    
    테스트 ( 1,2,3,4,5);


기본값 [ undefined 값 정확하게 일치 유사한, 발효 기본값 ]
예 :

    하자 [X, Y = 'B'] = 'A'];   // X = 'A', Y = 'B'


디폴트 값은 함수이다
주 : 제 매칭 값이 정확하게 동일 미정, 디폴트 할당 연산자 값이면 값이 일치하는지 여부를 결정하고, 그렇지 않으면 기본 할당 동작이 수행되지 않는
예 :

    기능 테스트 () { 
        CONSOLE.LOG ( "테스트" );
        반환 2 ; 
    } 
    하자 [X = 시험 ()] = []; 
    CONSOLE.LOG (X);        // 테스트 2


    
2 대물 할당 해체 [가변 속성 명에 대응하는 권리가 존재하지 않는 왼쪽, 오브젝트의 속성 값은 정의되지 않는다, 즉, 객체 선언되지 속성은 정의되지 않는다]
원래 구조 할당 개체 [ 변수의 최종 선언 변수 이름 변경 후는 변수 이름 바꾸기 ]
예를 :

    = {이름 'NZC', 나이 : 18이 {: MyName로 연령 myAge라는 송출 이름} }
     // 상기 코드는 동일한 이름을 가진 객체 속성 취득 오른쪽 일치 코드 명 {다음 왼쪽 유사하고 바뀐 이름에 할당 된 속성 값 MyName로 == 변수는 "MyName로 = 'NZC'] 있도록 
    MyName로 = 'NZC를'하자를 , 
    송출 된 myAge라는 = 18이고;

   
주문하지 않은 객체의 속성은, 변수 만의 올바른 값에 같은 이름의 재산 후 촬영해야 [ 같은 축약 할 수의 이름을 바꿀 ]
예 :

    = {이름 : 'NZC', 나이 : 18은 {: 이름, 나이 나이 송출 이름} }
     // 로 축약 
    송출 {이름, 나이} = {이름 : 'NZC', 나이 : 18이다 }
     // 다음 코드에 비유를 
    이름은하자 'NZC'= ; 
    시대하자 = 18입니다;


중첩 된 객체의 해체
예 :

    사람의 PARAM = {송출 : [ 'NZC', {나이 : 18이다 }]}; 
    송출 {PARAM이 : [이름, 나이는 {}]} = 사람이; // 이름 = 'NZC'나이 = 18이다 
    // PARAM 아래에 비유 태그 [이름 {나이}, 그 자체를 선언하지 않는 한 변경된다 PARAM 변수 즉, 존재하지 않는 
    {PARAM : 이름 {하자 나이}]} = {PARAM : 'NZC'{연령 : 18} ]}

   
디폴트 값 ( 효과 조건 기본적으로, 객체의 속성 값을 정확히 동일하게 정의되지 않은 )
EG :

    // 이름 = 'nzchs'-> 변수 이름 디폴트 값, 연령 : myAge라는 = 21-> myAge라는 기본 [연령 이름 바꾸기 myAge라는 다음} 기본 값을 주어 
    , {이름 = 'nzchs'하자 myAge라는 = 21} = 세 이름은 {: 'NZC', 18 세입니다 } 
    송출 {이름 = 'nzchs', 나이 : 21입니다 myAge라는 =} = {이름 : 'NZC'}  


    
3 해체 문자열 할당
해체는 문자열 오브젝트가 유사한 배열로 변환된다.
예를 들면 :

    [A, B, C] = '안녕하세요'하자; // A = H, B = E, C = L

길이 속성 해체
예 :

    {길이 보자 LEN을} = '안녕하세요'; // . LEN = 길이 5 [오브젝트 속성 배열의 우측 클래스 일치 문자열로 변환되고 그 값은 변경 변수 LEN에 할당]

 


도 4는 과제를 destructuring 수치 부울 값
해체시 우측은 숫자 및 부울 값 인 경우, 대응하는 제 1 참조 데이터베이스 타입 오브젝트로 변환한다
예 :

    {송출 toString : str1과} = 123; // 함수 str1과는 === Number.prototype.toString가 true를 돌려 
    송출이 {toString이 : STR2이} = 진정한 ; // 기능은 사실과 str2 === Boolean.prototype.toString을 반환



도 5는, 함수 파라미터들의 할당 해체
destructuring 할당 통과 기본 배열 파라미터
등을 :

    기능 추가 ([X, Y가]) { 반환 X + Y를} 
    추가 ([ . 1, 2);    // 함수 값 3 닦이


기본 값으로 함수 매개 변수는
예 :

    기능 테스트 ({X = 0, Y는 = 0 }) {
         반환 [X, Y] 
    } 
    // 함수 호출 
    ({X :. 3 Y :. 8}) 시험; // 리턴 값 [. 3 ,. 8] 
    시험 ({X :. 3}) // 반환 값 [. 3, 0] 
    테스트 ({}) // 반환 값은 [0, 0] 
    테스트 (); // `의 x` 속성 destructure 수없는 오류가 정의되지 '또는'널 '

   
셋째, 해체의 일반적인 사용
하나, 가변의 교환 가치
예 :

    있도록 X = 1 ; 
    Y는하자 = 2 ; 
    [X, Y] = [Y, X];  
    CONSOLE.LOG (X, Y); // 2 1    

2, 함수 매개 변수의 할당 :
EG :

    // [A = 0, B의 = 1이다.] = 1이다.] = A. 1, B의 = 1 개. 
    기능 테스트 ([A = 0, B의 = 1이다. ]) {
         복귀 A + B] 
    } 
    테스트 ([ 1.])   // 2의 값을 반환

도 3은 데이터 객체를 추출하는
예 :

    ID {OBJ = 송출 : 데이터의 "OK": 42, 상태이다 [867, 5309 ]}, 
    송출는 {ID, 상태 데이터 : 번호} = OBJ;   // 에 대응하는 변수를 정의

도 4에서, 입력 모듈 지정 방법

    CONST {SourceMapConsumer, SourceNode} = (이하 "소스지도")을 필요로;


5 맵 구조를 횡단

    VAR의 지도 = 새로운 지도 (); 
    map.set ( '이름', 'NZC' ); 
    map.set ( '세', 18 );
    위한 MAP (여기서 키 값]하자) { 
        CONSOLE.LOG는 (키 +는 + 값 "이다");    // 이름이 NZC 연령은 18 
    }

 

추천

출처www.cnblogs.com/nzcblogs/p/11348883.html