ECMAScript と JavaScript の違いを見てみましょう

coldplay.xixi
リリース: 2021-01-27 17:50:47
転載
2583 人が閲覧しました

ECMAScript と JavaScript の違いを見てみましょう

無料学習の推奨事項: js ビデオ チュートリアル

# #1. ECMAScript の概要

ECMAScript は、Ecma International (旧称欧州コンピュータ製造者協会、英語名は欧州コンピュータ製造者協会) によって ECMA-262 によって標準化されたスクリプト プログラミング言語です。この言語は World Wide Web で広く使用されており、JavaScript または JScript と呼ばれることが多いため、JavaScript の標準として理解できますが、実際には、後の 2 つは ECMA-262 標準の実装および拡張です。

1.1 ECMA International

ECMA International は国際会員制の情報通信標準化団体であり、企業と密接な関係にある団体であるため、ECMA International が策定した仕様は以下のとおりです。 Ecma 国際標準は、主にさまざまな企業によって策定および推進されています。 1997 年に、この組織は ECMAScript 言語仕様を策定した MCMA-262 標準をリリースしました。これが ECMAScript の由来です。

1.2 ECMA-262規格(ES規格)

ECMA-262は、ECMA TC39グループによって開発されたスクリプト言語の仕様規格です。 TC39 のメンバーは、スクリプト プログラミングに興味のある企業のプログラマーで構成されています。

ECMA-262 標準は、ECMAScript 言語仕様を定義します。この標準は、ECMAScript 言語仕様 (略して ES 仕様) とも呼ばれます。

ES 仕様は 1997 年にリリースされ、現在は 8 番目のバージョンです。 ECMAScript は、いくつかの原始的なテクノロジ、特に JavaScript (Netscape Navigator 2.0) と JScript (Microsoft IE3) に基づいています。

1.3 JavaScript 標準化のプロセス

1995 年頃: インターネットが勃発し、Web アプリケーションが際限なく登場しました。現在のブロックチェーンや人工知能と同じように、ドメイン名を指定すれば基本的に金持ちになれる可能性があります。当時、JavaScript には 3 つの主流バージョンがありました。

(1) Netscape Navigator 3.0 の JavaScript。

(2)IE の JScript。

(3) CEnvi の ScriptEase。

他のプログラミング言語とは異なり、JavaScript には構文や機能を統一するための標準がありません。これら 3 つの異なるバージョンは、この問題を浮き彫りにするだけです。業界の懸念が高まるにつれ、この言語の標準化が不可欠であることは明らかです。

1997: JavaScript 1.1 がドラフトとして欧州コンピュータ製造者協会 (ECMA) に提出されました。 Technical Committee 39 (TC39) は、「汎用、クロスプラットフォーム、ベンダー中立のスクリプト言語の構文とセマンティクスを標準化する」ために任命されました。 ECMA-262 の最初のバージョンが作成され、ECMAScript と呼ばれる新しいスクリプト言語が定義されました。

1998: 国際標準化機構と国際電気標準会議 (ISO/IEC) も ECMAScript を標準として採用しました (ISO/IEC-16262)。同年に ECMA-262 (ES2) の 2 番目のバージョンがリリースされましたが、この 2 番目のバージョンでは基本的に新しい機能は追加されていませんでした。

2002: ECMA-262 第 3 版 (ES3)、新たに導入された強力な正規表現、より優れた文字列処理、新しい制御ステートメント、try/catch 例外処理、より厳格なエラー定義、数値出力の書式設定、およびマイナーな変更将来の言語の成長への期待。 3 番目のバージョンは当時非常に広く使用されており、ほぼすべてのブラウザが ES3 標準をサポートしていました。

ECMA-262 バージョン 4 (ES4) は途中で終了し、一部の機能は ES6 に移行されました。

2009: ECMA-262 第 5 版 (ES5) がリリースされました。 ES3 に基づいて、アクセサー プロパティ、オブジェクトのリフレクティブ作成と検査、プロパティのプログラムによる制御、追加の配列操作関数、JSON オブジェクト エンコード形式のサポート、強化されたエラー チェックとプログラム セキュリティなど、多くの機能が追加されました。

2011: 国際規格 ISO/IEC 16262:2011 として承認されました。 ES5.1 バージョンは同じ年にリリースされ (ES5 へのいくつかのアップグレードと最適化が施されました)、MCMA-262 および ISO/IEC によって承認されました。

2015: ECMA-262 第 6 版 (ES6 または ES 2015 言語仕様) 、ES6 は、2000 年の ES3 リリース後に定着し始めたと言えます。 ES4、ES4 の一部の機能は ES6 までリリースされなかったので、6 番目のバージョンは完全に 15 年間の努力の結果です。

ES6大規模なアプリケーションのサポートを改善し、Lib ライブラリを作成し、他の言語のコンパイル ターゲットとして ECMAScript を使用します。 ES6 では主に次の機能が追加されています。主な機能強化には、モジュール、クラス宣言、字句ブロック スコープ、イテレータとジェネレータ、非同期プログラミングの Promise、分割パターン、適切な末尾呼び出しが含まれます。組み込みの ECMAScript ライブラリは、マップ、セット、バイナリ数値配列、文字列や正規表現の使用などの追加のデータ抽象化をサポートするように拡張されました。

2. JavaScript の概要

JavaScript はリテラル スクリプト言語であり、型のサポートが組み込まれており、動的に型付けされ、弱い型付けが行われるプロトタイプ ベースの言語です。 。そのインタプリタは JavaScript エンジンと呼ばれ、ブラウザの一部であり、クライアント側のスクリプト言語で広く使用されています。HTML Web ページに動的な機能を追加するために、HTML (標準ユニバーサル マークアップ言語に基づくアプリケーション) Web ページで最初に使用されました。 . .

JavaScript は、ECMA-262 標準 (ES 標準) に準拠したユニバーサル クロスプラットフォーム スクリプト言語です。つまり、ECMAScript の方言です。技術的な利点を得るために、Microsoft は JScript を立ち上げ、CEnvi は JavaScript と同様にブラウザ上で実行できる ScriptEase を立ち上げました。仕様を統一するため、ECMA規格と互換性があるJavaScriptはECMAScriptとも呼ばれます。

Sun は Oracle に買収されたため、JavasSript の商標は Oracle に帰属します。 JavaScript は初期に Sun によって登録され、JavaScript 言語を代表します。しかし、JavaScript の最初の発明は Netscape でした。 1995 年に、Netscape の Brendan Aich によって初めて設計され、Netscape Navigator ブラウザに実装されました。 Netscape は Sun と協力していたため、Netscape の経営陣は Netscape を Java のように見せたいと考え、そのため JavaScript という名前が付けられました。しかし実際には、その文法スタイルは Self と Scheme に近いです。

2.1 JavaScript の基本特性

JavaScript はインターネットに属するスクリプト言語であり、Web アプリケーション開発で広く使用されており、さまざまな機能を追加するためによく使用されます。ダイナミックな機能により、よりスムーズで美しいブラウジング効果をユーザーに提供します。通常、JavaScript スクリプトは HTML に埋め込むことでその機能を実現します。

(1) インタープリタ型スクリプト言語 (コードはプリコンパイルされていません)。

(2) 主に、HTML (標準ユニバーサル マークアップ言語に基づくアプリケーション) ページにインタラクティブな動作を追加するために使用されます。

(3) HTML ページに直接埋め込むこともできますが、別の JS ファイルとして記述すると、構造と動作を分離するのに役立ちます。

(4) クロスプラットフォーム機能。ほとんどのブラウザーをサポートしているため、複数のプラットフォーム (Windows、Linux、Mac、Android、iOS など) で実行できます。

JavaScript スクリプト言語には、他の言語と同様、独自の基本的なデータ型、式、算術演算子、およびプログラムの基本的なプログラム フレームワークがあります。 Javascript は、データとテキストを処理するための 4 つの基本データ型と 2 つの特別なデータ型を提供します。変数は情報を保存する場所を提供し、式はより複雑な情報処理を完了できます。

2.2 JavaScript コンポーネント

JavaScript は、以下に示すように、ECMAScript、DOM、および BOM の 3 つの部分で構成されます。

ECMAScript と JavaScript の違いを見てみましょう

(1) ECMAScript: 言語の構文と基本オブジェクトについて説明します。

(2) DOM: ドキュメント オブジェクト モデル (DOM)、Web コンテンツを処理するためのメソッドとインターフェイスを記述します。

(3) BOM: ブラウザ オブジェクト モデル (BOM)。ブラウザと対話するためのメソッドとインターフェイスを記述します。

2.2.1 DOM ドキュメント オブジェクト モデル

ドキュメント オブジェクト モデル (略して DOM) は、W3C 組織が推奨する拡張可能なマークアップ言語を処理するための標準プログラミングです。インターフェース。 Web ページでは、ページ (またはドキュメント) を構成するオブジェクトがツリー構造に編成されており、ドキュメント内のオブジェクトを表現するために使用される標準モデルは DOM と呼ばれます。ドキュメント オブジェクト モデルの歴史は、1990 年代後半の Microsoft と Netscape の間の「ブラウザ戦争」にまで遡り、JavaScript と JScript での死活を争うため、両者はブラウザに強力な機能を大規模に提供しました。 Microsoft は、VBScript、ActiveX、Microsoft 独自の DHTML 形式など、多くの独自機能を Web テクノロジに追加しているため、多くの Web ページが Microsoft 以外のプラットフォームやブラウザを使用して適切に表示できなくなります。 DOMはその時に醸造された最高傑作です。

2.2.2 BOM ブラウザ オブジェクト モデル

BOM (ブラウザ オブジェクト モデル) はブラウザ オブジェクト モデルです。 BOM は、コンテンツとは独立してブラウザ ウィンドウと対話するオブジェクトを提供します。BOM は主にウィンドウ間の通信を管理するために使用されるため、そのコア オブジェクトはウィンドウです。BOM は一連の関連オブジェクトで構成され、各オブジェクトは両方とも多くのメソッドと属性を提供します。BOM標準が欠如しています。JavaScript 構文の標準化組織は ECMA で、DOM の標準化組織は W3C です。BOM はもともと Netscape ブラウザ標準の一部でした。

ブラウザ ウィンドウと対話する一部のオブジェクト (ブラウザの移動やサイズ変更ができるウィンドウ オブジェクト、ナビゲーションに使用できる位置オブジェクトと履歴オブジェクト、ブラウザの操作を取得できるナビゲータなど) screen オブジェクトでは、ドキュメントを入り口として HTML ドキュメントにアクセスしたり、フレームのフレームオブジェクトを管理したりすることができます。

2.3 JavaScript 処理エンジン

JavaScript 処理エンジンは、JavaScript コードを解析して実行できるインタープリターです。通常、ブラウザには JavaScript エンジンが搭載されており、JavaScript が初めて登場したときは、ブラウザ内で実行され、クライアント側の言語として使用されていました。

一般的な JavaScript エンジン:

(1) Chrome V8

(2) Firefox SpiderMonkey

(3) Microsoft Edge Chakra

Node.js は Chrome V8 エンジンに基づいていることに言及してください。前述したように、JS の解析と実行には V8 エンジンが使用され、V8 は ECMAScript 標準に基づいて実装されます。別の言い方をすると、Node.js には DOM および BOM 操作はなく、JavaScript の構文コア (ES) のみが保持され、イベント駆動型のノンブロッキング I/O モデルが追加されて軽量かつ効率的になります。 Node.js は Windows、Linux、Mac 上でサービスとして実行され、JavaScript の役割をフロントエンド開発からバックエンド開発に移します。

現在やや時代遅れになっている Flash プログラミング用の ActionScript も、ECMAScript の特定の実装です。

関連する無料学習の推奨事項: JavaScript 学習チュートリアル

以上がECMAScript と JavaScript の違いを見てみましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート