[ES6 같이, 함수, 클래스 상속 화살표, 정렬, 감소, 수율 필터 매핑

지도

VAR의 도착 = 123456789 ];
VAR = s의 선택 arrmap (에 문자열);
console.info (들)


함수 POW (X) {
          X * X;
}

VAR의 결과 = arr.map (POW);
console.info (결과);


CONST 도착 = [1,2,3,4,5,6,7,8,9 ];
CONST 도착 = arr.map (문자열);
CONSOLE.LOG (S);

CONST 결과 = arr.map (X => X * X);
CONSOLE.LOG (결과)
 
 
// (9)가 "1", "2", "3", "4", "5", "6", "7", "8", "9"] 
// (9) (1) 4, 9, 16, 25, 36, 49, 64, 81]

줄이다

이 함수는, 파라미터를 접수하더라도 감소 ()를 이용하여 측정하고 그 결과는 어큐뮬레이터로서 산출되는 시퀀스의 다음 요소를 계속해야

VAR의 FUNC = 함수 (X, Y) {
        X + Y;
}

했다 도착 = 1,3,5,7,9 ];
 결과 =는 (FUNC)를 arr.reduce;

CONSOLE.LOG (결과)

CONST 도착 = 1,3,5,7,9 ];
CONST 결과 =는 arr.reduce ((X, Y) => X + Y)
// 결과는 25

 

필터

그리고지도 (), 필터 () 함수의 리턴 값에 기초하여, 순차적으로 각 소자에인가되는 다른 전달 요소를 유지하거나 폐기 참 또는 거짓 인 결정

VAR의 도착 = 1,2,4,5,6,9,10,15 ];
VAR R = arr.filter ( 함수 (X) {
        X % 2 == 0! ;
})
CONSOLE.LOG (R);
CONST 도착 = 1,2,4,5,6,9,10,15 ];
CONST R = arr.filter (X => X % 2 == 0! );
CONSOLE.LOG (R);
// (4) [1, 5, 9, 15]

필터는 사실, 여러 매개 변수를 가질 수 있습니다, 콜백 함수를 사용할 수 있습니다. 보통 우리는 배열의 요소를 나타내는 첫 번째 매개 변수를 사용합니다. 콜백 함수는 두 개의 다른 변수를 수용하고, 소자 어레이 자체의 위치를 ​​나타내는 수

VAR의 도착 = 'A', 'B', 'C' ];
VAR R = arr.filter ( 기능 (요소 인덱스 자체) {
      CONSOLE.LOG (요소); //   'A', 'B', 'C' 
      CONSOLE.LOG (인덱스);     //   0 ,. 1, 2 
      CONSOLE.LOG (자기)        // 자기 가변 ARR의 인 
       true로 ;
});
CONSOLE.LOG (R);

/ * 0
[ "A", "B", "C"] 1
[ "A", "B", "C"] 2
[ "A", "B", "C"]
[ "A", "B", "C"]
* /

종류

기본적으로 배열 정렬 () 메소드는 모든 요소는 첫 번째 문자열 재정렬 결과 '10'로 변환하기 때문에, 앞서 '2'의 때문에 ASCII 코드의 문자 '2'가 아닌 '1'자 작.

했다 도착 = 10,20,1,2 ];

arr.sort ( 함수 (X, Y) {
       경우 (X <Y) {  -1 }
       경우 (X> Y) {  1 }
       반환 0 ;
});
CONSOLE.LOG (편곡)
했다 도착 = 10,20,1,2 ];

arr.sort ((X, Y) => x> Y 1, X <Y -1 : 0? );

CONSOLE.LOG (도착);

//
[1,2,10,20]

종류 () 배열의 방법은이 결과는 여전히 현재의 배열입니다 반환, 직접 수정할 수 있습니다

VAR의 A1 = "B", "A", "C" ];
VAR A2 = a1.sort ();
A1;     // [ "A", "B", "C"]; 
A2;     // [ "A", "B", "C"]; 
=== A1 A2;  // 사실 A1和A2是同一个对象

 

화살표 기능

이 화살표로 정의되어있는 이유는 화살표 기능이라고?

X => X * X;

상기 함수는 화살표에 해당

함수 (X) {
          X * X;
}

우리는이를 사용할 수 있습니다

// 두 개의 파라미터 : 
(X, Y) => X + Y * X * Y


// 매개 변수 없습니다
() => 3.14

// 可变参数: (X, Y, ... 나머지) => { VAR I, 합계 = X + Y; (나는 <rest.length; 나는 0 = I ++ ) { 합계 + = 나머지 [I] } 반환 합; }

당신은 객체를 반환하려면

X => ({foo는 : X})

속기 익명 함수를 할 기능이 나타납니다 화살표 있지만, 사실, 기능, 익명 함수가 명확한 구분이 화살표 다음은 어휘 범위가 문맥에 의해 결정된다 화살표 안쪽에이 기능이 있습니다.

 OBJ = {
    출생 : 1990 ,
    getAge : 함수 () {
         VAR의 B는 =  .birth 단계; // 1990 
        VAR FN = 함수 () {
             반환  새로운 날짜 ()하여 getFullYear ()를 -.  .birth을; // 이指向창或정의되지 
        };
        반환 ) (FN;
    }
};

했다 K = obj.getAge ()
console.info (오른쪽)

// NaN의
 OBJ = {
    출생 : 1990 ,
    getAge : 함수 () {
         VAR의 B는 =  .birth 단계; // 1990 년 
        var에 FN = () => 새로운 날짜 ()하여 getFullYear () -.  .birth; // 이指向OBJ对象
        반환 ) (FN;
    }
};
했다 K = obj.getAge는 ();
console.info (오른쪽)

// (28)

 

클래스 상속

    클래스 학생 {
        생성자 (이름) {
             .name을 = 이름;
        }
        여보세요() {
            을 console.log ( '안녕하세요'+  .name을 + '!' )
        }
    }
    var xiaoming = new Student ( '소명' );
    xiaoming.hello ();

    클래스 PrimaryStudent는 학생을 {확장
        생성자 (이름, 학년) {
            슈퍼 (이름); //이 슈퍼와 부모 클래스의 생성자를 호출하는 것을 잊지 
            은이 .grade = 학년;
        }

        myGrade () {
            CONSOLE.LOG ( + 'I 학년에서 나는' .grade)
        }
    }

    VAR xiaohua는 = 새로운 새 PrimaryStudent ( 'Xiaohua', 1 );
    xiaohua.hello ();
    xiaohua.myGrade ();

// 여보세요, 밥! 
// 여보세요, Xiaohua! 
// 는 I AM AT 1 급

 

수율

함수 *의 피보나치 () {
    수득 1 ;
    수득 2 ;
    반환 2 ;
}

VAR 은 = 피보나치 () · · ·
CONSOLE.LOG (IT);        // "발전기 {}" 
을 console.log (it.next ()); // 1 
CONSOLE.LOG (it.next ()); // 2 
CONSOLE.LOG (it.next ()); // 정의되지 않은


VAR ITT = 피보나치 ();
 // 및 반환 값을 위해 ... 루프, 확장이 이송되지 Itrrator이어야한다 
위해 ( VAR ITT의 당) {
    CONSOLE.LOG (PER);
}

// 피보나치 {<중단은>} 
// {값 : 1, 다 : 거짓} 
// {값 : 2 일 : 거짓} 
// {값 : 2, 다 : 사실은} 
// 1 
// 2
함수 *의 foo는 () {
    수득 0 ;
    수득 1 ;
}

함수 *의 바 () {
    수득 'X' ;
    수득 * ) (foo는;
    수득 'y'를 ;
}
에 대한 {(() 표시 줄의 V하자)
    CONSOLE.LOG (V);
}

// X 
// 0 
// 1 
// 

추천

출처www.cnblogs.com/tommymarc/p/12100045.html