学習ノート『ES 6』

3066 ワード

最近JSを書く時、たくさんの例がES 6の文法を採用していることを見ました.ですから、システムの勉強は主に阮一峰の「ECMAScript 6入門」から始まる電子書籍の内容を参照してください.
本人はWeChatアプリをよく見ていませんが、H 5にかけたこの火は国内の先端技術をより速く発展させます.
ECMAScript 6.0(以下、ES 6という)はJavaScript言語の次世代規格で、2015年6月に正式に発表されました.JavaScript言語は複雑な大規模なアプリケーションを作成し、企業レベルの開発言語になることを目標としています.
標準の制定者は計画があり、今後は毎年一回の標準を発表し、使用年はバージョンとします.ES 6の最初のバージョンは2015年にリリースされたので、ECMAScript 2015(ES 2015と略称する)とも呼ばれる.
2016年6月、小幅改定の『ECMAScript 2016標準』(ES 2016と略称)が予定通り発表されました.非常に小さい変動(配列例のincludes方法と指数演算子のみが追加された)ので、ES 2016とES 2015は基本的に同じ基準であり、ES 6と見なされている.2017年6月にES 2017をリリースする予定です.
阮一峰の書いたことは非常に詳しくて、ここで詳しく説明しません.後の備忘復習だけを提供します.
  • letコマンド定義局所変数が追加されました.
  • により、const命令声明の定数
  • が追加されました.
  • より柔軟な変数割当方式var[a,b,c]=[1,2,3]
  • at()関数を追加すると、元のcharAt()関数の欠陥
  • が認識されます.
  • includes()、starts With()、endsWith()の3つの文字列演算関数
  • を追加しました.
  • テンプレート文字列は、`標識を使用して、{}マーク変数を使用して、マーク式
  • を表します.
  • タグテンプレートは、テンプレートの処理関数を自分で定義し、テンプレートにループを処理することができます.他の言語
  • もあります.
  • 文字列は、正規法match()replace()search()とsplit()
  • を呼び出すことができる.
  • isNaNを追加しました.数字の値を判断します.
  • .
  • Number.parseInt()Number.parseFloat()Number.isIntegerを追加しました.便利なことがたくさんあります.
  • は、Mathを強化し、複雑な数学計算に対する処理能力を増強する17の方法を追加した.
  • 新規*この指数演算子
  • オブジェクトまたはパラメータを配列の関数Aray.from()Aray.of()
  • に変換する.
  • 配列ルックアップは、find()およびfindIndex()方法
  • を使用することができる.
  • fill()関数は、配列を充填する
  • .
  • entries()keys()とvalues()は便利な配列を巡回して、更にforを使う必要がないです.
  • 関数サポートパラメータ標準機能
  • 関数のlength属性戻り関数のパラメータ個数
  • は、ブロック作用領域
  • を追加しました.
  • パラメータのデフォルト値の部分サポート関数、これは強力です.
  • は、「…変数名」を使用して、余分なパラメータ
  • を取得することができる.
  • 「...」オペレータは、1つの配列をカンマで区切られたパラメータシーケンス
  • に変換する.
  • 矢印記号より便利な定義関数var f=v=>v.ただし、注意が必要です.
  • 関数内のthisオブジェクトは、使用時のオブジェクトではなく定義時のオブジェクトです.yieldコマンドは使用できませんので、矢印関数はGenerator関数として使用できません.
  • 変数を直接オブジェクトに書き込むことができます.不思議ですね.
    var foo = 'bar';
    var baz = {foo};
    baz // {foo: "bar"}
    
    //    
    var baz = {foo: foo};
    
  • 属性名はダイナミックな形式をサポートしています.かっこを使います.
    let propKey = 'foo';
    
    let obj = {
      [propKey]: true,
      ['a' + 'bc']: 123
    };
    
  • Object.assign関数は、オブジェクトをマージすることができます.
  • 属性を巡回する5つの方法があります.
  • (1)for…in(2)Object.keys(object)(3)Object.getOwn PropertyNames(obj)(4)Object.getOwn PropertySymbors(obj)(5)Reflot.ownKeys(obj)
  • は、新しい元のデータタイプSymbolを導入し、ユニークな値を表し、他の6つは、Unidefined、Null、ブール値(Boolean)、文字列(String)、数値(Number)、オブジェクト(Object)
  • である.
  • 新たにProxyとReflectの機構が追加されました.アクセスと呼び出しの際にブロッキングと反射補正を行うことができます.
  • バイナリデータに対する処理能力を増加させる
  • .
  • は、配列と似ているデータ構造Setを追加しましたが、メンバの値は全部唯一で、重複値がない
  • です.
  • データ構造Mapが追加され、オブジェクトに類似し、キーペアのセットでもあるが、キーの範囲は文字列に限定されず、各種の値(オブジェクトを含む)はキー
  • としてもよい.
  • エルゴードを追加し、Object Aray Set Mapを巡回することができます.
  • はGeneratorに似た状態機の仕組みを提供しています.これはまだよく知られていないので、繰り返して
  • を消化します.
  • はPromise非同期プログラミングソリューションを提供しています.リプライの形とは違って、繰り返し消化します.
  • は完璧なクラス機構を提供して、JSに完全に対象に向かってプログラムすることができます.
  • は、完全なモジュールトークメカニズムの解決策、require export import命令などの
  • を提供しています.
    本の後ろに参考になるような内容があります.後でゆっくり研究します.一つのコード規範:http://es6.ruanyifeng.com/#docs/style コード規範組織:http://jscs.info/