ES6の注意事項

  1. 聞かせ&&のconst

    • 私たちは、ブロックレベルのスコープを持っています
    • またとない声明
    • 一時的なデッドゾーン(前スコープ記述書、使用できない、エラー)
    • 前者は(typeof演算もはや安全で)宣言されていない、それが直接typeof演算エラーですが、typeofの定義された変数と出力は不定に文句はありません
    • CONST、ステートメントは、(変数の値は変更しないかもしれないが、格納されたデータの可変ポイントのメモリアドレスが変化しないこと)割り当てられなければなりません
    • constのクラスプロパティは、トップレベルのオブジェクトに属していないグローバル変数を宣言、しましょう。最初からES6は、徐々にトップレベルのオブジェクトのグローバル変数プロパティから切り離します。
    • globalThisグローバルオブジェクト(案)
  2. 脱構築

    • 文字列には、割り当てを解体することができます。CONST [A、B、C、D、E] = 'こんにちは';
    • 割り当てを構造化代入するとき、等号の右辺は、数値およびブール値である場合、それは最初のオブジェクトをオンにします
    	let {toString: s} = 123;
    	s === Number.prototype.toString
    
  3. 文字列のメソッド

    • ()、のstartsWith()、endsWith()、padStart()、padEnd()、padStart()、padEnd()
  4. デジタル

    • Number.isFinite()、Number.isNaN()及びますisNaN()区別、ますisNaN()は、このような真ますisNaN( 'A')//のように、デジタルに変換され
    • Number.isInteger()、Number.isSafeInteger()
    • 最後にMath.signの数を決定するために使用される方法は、正、負、またはゼロであります
    • 指数演算子(**)
  5. 機能

    • lengthプロパティは、パラメータ数の期待値が関数に渡され、デフォルト値を指定することを意味し、このパラメータは、統計ではありません
    • 残りのパラメータ(変数名の形式では...)、あなたは残りのパラメータの後に他のパラメータを持つことができません
    • // ES5 f.name => "" // ES6 f.name => "F";名、機能名VAR F =関数(){}属性
    • 矢印機能におけるこのオブジェクトは、オブジェクトが配置されているときに定義されます
    • 矢印は、コンストラクタとして機能することはできません
    • 矢印は、argumentsオブジェクト機能することはできません
    • ジェネレータ関数は、矢印の関数として使用することはできません
  6. 配列

    • 拡張演算子、配列をコピーするには、配列をマージします
    • および非構造の割り当ては、[休止...、最初] CONST結合= [1、2、3、4、5]。
    • 実際の配列に文字列[...「こんにちは」]
    • イテレータ
    • 真の配列にオブジェクトの二種類Array.from:アレイ状オブジェクトおよびオブジェクトを横断することができ、Array.from(セット)
    • アレイArray.of(3、11、8)への値のセットのための方法Array.of
    • )((見つける)とfindIndex
    • = []みましょう//)(記入。a.length = 100; a.fill(1)// [1,1,1,1、... 100个1]
    • (含み)
    • フラット()/ flatMap()は配列を平坦化
    • 空孔アレイは、ES6は未定義//配列にスペースが明らかである(3)// [,,,]
  7. オブジェクト

    • Object.getOwnPropertyNamesは(、シンボルプロパティを除い含むが、属性を列挙されていない)オブジェクト自体のすべてのプロパティを含みます
    • Object.getOwnPropertySymbolsオブジェクト自体記号キーのすべてのプロパティを含む配列を返します
    • Reflect.ownKeysは、オブジェクト自体のすべてのキー名を含む配列を返すにかかわらず、キー名の記号や文字列である、列挙か
    • 拡張演算子// {... {B:2}:1} // {B:2:1}
    • Object.is好き===
    • Object.assign対象オブジェクト(ターゲット)にコピーされたすべての列挙属性の(ターゲット、ソース1、ソース2)ソースオブジェクト(ソース)、(浅いコピー
    • Object.getPrototypeOf()=> プロト
    • Object.keys()、Object.values()、Object.entries()(キーと値のペアのアレイ)
  8. セット/マップ

    • 設定の中に、2はNaNに等しいです
    • 地図トラバーサルシーケンスが順番に挿入されています
  9. 約束する

    //	加载图片
    const preloadImage = function (path) {
      return new Promise(function (resolve, reject) {
        const image = new Image();
        image.onload  = resolve;
        image.onerror = reject;
        image.src = path;
      });
    };
    
    • Promise.all / Promise.race
  10. イテレータ

    • 任意のデータ構造限り展開Iteratorインターフェイスは、...のための横断を完了するために
    • オブジェクト(Object)をプロパティを横断した後のオブジェクト最初のトラバーサル、の性質が不明であるためである理由デフォルトのデプロイメントのIteratorインターフェイス、何の理由ではありません
    • Iteratorを取得
    let iter = [1,2,3][Symbol.iterator]()
    iter.next()  //{value: 1, done: false}
    iter.next()  //{value: 2, done: false}
    iter.next()  //{value: 3, done: true}
    
  • Iteratorインターフェイス=コールの機会> ...のための分割代入、拡張演算子、降伏*、Array.from()、地図()、セット()、Promise.all / Promise.race
  1. 非同期
    • 非同期関数は、プロミスオブジェクトに充填し、非同期操作を複数として見て、コマンドのコマンド構文は、内部糖で待つことができます
    • ステートメントによって返さ内部非同期関数の戻り値は、その後、コールバック関数メソッドのパラメータになります
    • ノーリターン、返さ解決(未定義)
    • 内部非同期機能は、プロミスなり、エラーがオブジェクトの状態が拒否になっ返さスローします。
    			async function f() {
    			  throw new Error('出错了');
    			}
    			
    			f().then(
    			  v => console.log(v),
    			).catch(e=>{
    				console.log(e)
    			})
    
    1. 待つコマンドは、それ以外の場合はエラーになり、非同期関数内で表示されます

おすすめ

転載: blog.csdn.net/zdhanunity/article/details/95303100