ホームページ  >  記事  >  ウェブフロントエンド  >  ECMAScript6とは何ですか?

ECMAScript6とは何ですか?

零下一度
零下一度オリジナル
2017-06-23 09:33:051791ブラウズ

ECMAScript 6.0 (以下、ES6) は JavaScript 言語の次世代標準であり、2015 年 6 月に正式リリースされました。その目標は、JavaScript 言語を使用して複雑な大規模アプリケーションを作成できるようにし、エンタープライズレベルの開発言語になることです。


1. ECMAScript と JavaScript の関係


よくある質問は、ECMAScript と JavaScript の関係は何ですか?というものです。

この問題を明確にするには、歴史を振り返る必要があります。 1996 年 11 月、JavaScript の作成者である Netscape は、JavaScript が国際標準になることを期待して、JavaScript を国際標準化機構 ECMA に提出することを決定しました。翌年、ECMA はブラウザ スクリプト言語の標準を規定した標準文書 No. 262 (ECMA-262) の最初のバージョンをリリースし、この言語を ECMAScript と呼びました。このバージョンはバージョン 1.0 です。

この標準は最初から JavaScript 言語用に開発されましたが、JavaScript と呼ばれない理由は 2 つあります。 1 つは Java は Sun の商標です。ライセンス契約によれば、JavaScript という名前を合法的に使用できるのは Netscape だけであり、JavaScript 自体は Netscape によって商標登録されています。次に、この言語の開発者が Netscape ではなく ECMA であることを示したいと思います。これは、この言語のオープン性と中立性を確保するのに役立ちます。

したがって、ECMAScript と JavaScript の関係は、前者は後者の仕様であり、後者は前者の実装であるということになります (他の ECMAScript 方言には Jscript と ActionScript が含まれます)。日常的な状況では、これら 2 つの単語は置き換え可能です。


2. ES6 と ECMAScript 2015 の関係


ECMAScript 2015 (ES2015 と呼ばれます) もよく見られます。 ES6とどう関係するのでしょうか?

2011 年に ECMAScript バージョン 5.1 がリリースされた後、バージョン 6.0 の開発が始まりました。したがって、ES6 という言葉の本来の意味は、JavaScript 言語の次のバージョンを指します。

しかし、このバージョンでは文法上の機能が多すぎるため、開発プロセス中に多くの組織や個人が新しい機能を提出し続けています。 1 つのリリースに導入されるすべての機能を含めることは不可能であることがすぐに明らかになりました。従来のアプローチでは、最初にバージョン 6.0 をリリースし、しばらくしてからバージョン 6.1、次にバージョン 6.2、バージョン 6.3 というようにリリースします。

しかし、標準設定者はこれを望んでいません。彼らは、標準のアップグレードを定期的なプロセスにしたいと考えています。誰でも、いつでも新しい構文の提案を標準委員会に提出できます。標準委員会は毎月会合を開き、提案が受け入れられるかどうか、どのような改善が必要かを評価します。多くの会議を経て、提案が十分に成熟した場合、その提案は正式に規格に組み込まれることができます。これは、標準バージョンのアップグレードがローリング プロセスとなり、毎月変更されることを意味します。

標準委員会は、この標準をその年の正式バージョンとして毎年 6 月に正式にリリースすることを最終的に決定しました。次回以降はこのバージョンをベースに修正が加えられ、翌年6月までは当然新年版となります。この方法では、前のバージョン番号は必要なく、年のスタンプだけが必要になります。

ES6 の最初のバージョンは 2015 年 6 月にリリースされ、正式名称は「ECMAScript 2015 Standard」(略称 ES2015) です。 2016 年 6 月に、若干改訂された「ECMAScript 2016 Standard」(略して ES2016) が予定通りリリースされました。両者の違いは非常に小さいため (

メソッドとインデックスのみ)、このバージョンは ES6.1 バージョンとみなすことができます。配列インスタンスの追加) 演算子)、基本的には同じ規格です。計画によれば、ES2017 規格は 2017 年 6 月にリリースされる予定です。 includes

したがって、ES6 は歴史的な用語であると同時に、ES2015、ES2016、ES2017 などを含む JavaScript の次世代標準を意味し、特にリリースされたバージョンを指します。その年の言語標準の正式版。本書で ES6 について言及する場合、通常は ES2015 標準を指しますが、「次世代 JavaScript 言語」一般を指す場合もあります。


3. 文法提案の承認プロセス


誰でも言語標準の変更を要求する標準委員会 (TC39 委員会としても知られています) に提案することができます。

新しい構文は、提案から正式な標準になるまで 5 つの段階を経る必要があります。各段階での変更には TC39 委員会の承認が必要です。

  • ステージ0 - ストローマン(プレゼンテーション段階)

  • ステージ1 - 提案(コメント募集段階)

  • ステージ2 - ドラフト(ドラフト段階)

  • ステージ3 - 候補者(候補者ステージ)

  • ステージ 4 - 完了

提案がステージ 2 に入ることができる限り、ほぼ確実に将来の正式な標準に含まれることになります。 ECMAScript の現在の提案はすべて、TC39 の公式 Web サイト Github.com/tc39/ecma262 で参照できます。

この本の執筆目標の 1 つは、ECMAScript 言語の最新の進歩を追跡し、バージョン 5.1 以降のすべての新しい構文を紹介することです。標準に組み込まれることが明らかまたは確実な新しい構文が導入されます。


4. ECMAScript の歴史


ES6 は最初から最終リリースまで 15 年かかりました。

前述したように、ECMAScript 1.0 は 1997 年にリリースされました。その後 2 年間、ECMAScript 2.0 (1998 年 6 月)、ECMAScript 3.0 (1999 年 12 月) が継続的にリリースされました。バージョン 3.0 は業界で広くサポートされ、JavaScript 言語の基本的な構文を確立し、後続のバージョンに完全に継承されました。今日に至るまで、初心者が JavaScript を学習し始めるとき、実際にはバージョン 3.0 の構文を学習していることになります。

2000 年に、ECMAScript 4.0 の作成が始まりました。このバージョンは最終的に失敗しましたが、その内容のほとんどは ES6 に継承されました。したがって、ES6 策定の開始点は実際には 2000 年です。

なぜ ES4 が通過しなかったのですか?このバージョンは過激すぎて ES3 への完全なアップグレードだったため、標準委員会の一部のメンバーはこれを受け入れたがりませんでした。 ECMA の Technical Committee 39 (TC39) は ECMAScript 標準の策定を担当しており、そのメンバーには Microsoft、Mozilla、Google などの大手企業が含まれています。

2007 年 10 月に ECMAScript 4.0 のドラフト版がリリースされ、当初正式版は翌年 8 月にリリースされる予定でした。しかし、この基準を採用するかどうかについては、当事者間に重大な意見の相違があります。 Yahoo、Microsoft、Google を筆頭とする大企業は JavaScript の大幅なアップグレードに反対し、小規模な変更を主張していますが、JavaScript の作成者である Brendan Aich 氏が率いる Mozilla は現在の草案を主張しています。

2008 年 7 月、あまりにも多くの違いと次のバージョンにどの機能を含めるべきかについての激しい議論のため、ECMA は ECMAScript 4.0 の開発を中止し、既存の機能の改良を含む一部を ECMAScript 3.1 としてリリースすることを決定しました。 、他の過激なアイデアが拡張され、後のバージョンに取り入れられました。カンファレンスの雰囲気により、このバージョンのプロジェクトのコード名は Harmony でした。会議の直後、ECMAScript 3.1 は ECMAScript 5 に名前変更されました。

2009 年 12 月に、ECMAScript バージョン 5.0 が正式にリリースされました。 Harmony プロジェクトは 2 つに分割され、より実現可能なアイデアは JavaScript.next と名付けられ、開発が続けられました。その後、成熟度の低いアイデアは JavaScript.next.next として扱われ、今後開発される予定です。再度起動することを検討してください。 TC39 委員会の全体的な考慮事項は、ES5 は基本的に ES3 との互換性を維持し、主要な構文修正と新機能は JavaScript.next までに完了するというものです。当時、JavaScript.next は ES6 を指し、第 6 バージョンがリリースされた後は ES7 を指しました。 TC39 の判断では、ES5 は 2013 年半ばに JavaScript 開発の主流標準となり、今後 5 年間はこの地位を維持するでしょう。

2011 年 6 月に、ECMAscript バージョン 5.1 がリリースされ、ISO 国際標準 (ISO/IEC 16262:2011) になりました。

2013 年 3 月に ECMAScript 6 ドラフトは凍結され、新しい機能は追加されません。新しい機能は ECMAScript 7 に組み込まれることが想定されています。

2013 年 12 月に、ECMAScript 6 ドラフトがリリースされました。その後、すべての関係者からのフィードバックを聞くための 12 か月の議論期間が続きます。

2015 年 6 月に ECMAScript 6 が正式に採用され、国際標準になりました。 2000年から数えると15年が経過しました。


6.Babel トランスコーダ


Babel は、既存の環境で実行できるように ES6 コードを ES5 コードに変換できる、広く使用されている ES6 トランスコーダです。これは、既存の環境が ES6 をサポートしているかどうかを気にすることなく、ES6 でプログラムを作成できることを意味します。以下は例です

1 // 转码前2 input.map(item => item + 1);3 4 // 转码后5 input.map(function (item) {6   return item + 1;7 });

上記の元のコードはアロー関数を使用しており、Babel はそれを通常の関数に変換し、アロー関数をサポートしていない JavaScript 環境でも実行できます。

以上がECMAScript6とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。