ES 6の10の重要な特性

2046 ワード

ES 6の10の重要な特性を転送

一、constと、letキーワード

  • const、letはブロックレベルの作用域を有し、グローバル汚染
  • をもたらさない.
  • 強制はまず定義してから
  • を使用しなければならない.

    二、Arrayヘルプ関数

  • forEach
  • map
  • filter
  • find
  • every
  • some
  • reduce

  • 三、矢印関数


    矢印関数は定義時にthisにバインドされています

    四、Class


    ES 6はClass類の継承を増やしたが、これはプロトタイプ継承の原理を変えることはなく、ここのclassは実はプロトタイプ継承に基づく文法糖である

    五、強化されたオブジェクト文法


    オブジェクトの構文が強化され、より容易になります.
  • 同じ名前の属性付与
  • 定義関数
  • 動的属性
  • を定義する

    六、テンプレート文字列


    結合文字列、置換変数の方が便利

    七、関数のデフォルトパラメータ


    関数パラメータにデフォルト値を定義し、値が入力されていない場合はデフォルト値になります.

    八、拡散と残りのオペレータ

  • 拡散オペレータ
  • const a = ...[1,2,3,4]  //1 2 3 4
    

    連結配列:
    const a = [...[1,2],...[3,4,]]  //[1,2,3,4]
    

    オブジェクトなどの操作を解くこともできます
  • 残りオペレータ
  • function a(a, b,...rest){
    
    }
    

    1つの変数を使用して、パラメータに残っているすべてのパラメータを受信します.

    九、解包

  • 配列解包
  • function print([,second,,fourth]){
        console.log(second,fourth)
    }
    print([1,2,3,4])    //2 4
    
  • オブジェクト解包は、オブジェクトの属性を同名変数
  • に解包することができる.
    const person = {
        name: 'j',
        age: 21,
        interest: 'ball'
    }
    function print({name,interest}){
        console.log(name,interest)
    }
    print(person)       //j ball
    

    十、Promise


    Promiseは実際には、遅延した結果に期待しています.Promiseには2つのチャネルがあります.1つ目は戻りの結果で、2つ目は可能なエラーです.結果を取得し、Promiseのthenメソッドにコールバック関数を提供します.発生したエラーをキャプチャし、Promiseのcatchメソッドにコールバック関数を提供します.
    function asyncFunc() {
        return new Promise((resolve,reject)=>{
            setTimeout(()=>{
                const result = Math.random();
                result > 0.5 ? resolve(result) : reject('I can not calculate')
            },1)
        });
    }
    
    for(let i=0;i<10;i++){
        asyncFunc()
            .then(result=> console.log('Result is='+result))
            .catch(result=> console.log('Error: '+result))
    }