From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../javascript_technologies_overview/index.html | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 files/ja/web/javascript/javascript_technologies_overview/index.html (limited to 'files/ja/web/javascript/javascript_technologies_overview') diff --git a/files/ja/web/javascript/javascript_technologies_overview/index.html b/files/ja/web/javascript/javascript_technologies_overview/index.html new file mode 100644 index 0000000000..61aff4884f --- /dev/null +++ b/files/ja/web/javascript/javascript_technologies_overview/index.html @@ -0,0 +1,91 @@ +--- +title: JavaScript 技術概説 +slug: Web/JavaScript/JavaScript_technologies_overview +tags: + - Beginner + - DOM + - JavaScript +translation_of: Web/JavaScript/JavaScript_technologies_overview +--- +
{{JsSidebar("Introductory")}}
+ +

はじめに

+ +

HTML がウェブページの構造と内容を定義し、CSS が書式と外観を定義しているのに対し、JavaScript はインタラクティブ機能をウェブページに追加し、豊かなウェブアプリケーションを作成します。

+ +

しかしながら、ウェブブラウザーの文脈で解釈されるこの「JavaScript」という包括的用語は、まったく異なる複数の要素を含んでいます。その要素とは、中核となるプログラミング言語(ECMAScript)、もう一つは DOM(Document Object Model)を含んだ Web API 群です。

+ +

JavaScript: コア言語 (ECMAScript)

+ +

JavaScript の中核となる言語は ECMAScript という名前の言語として ECMA TC39 委員会で標準化されています。

+ +

このコア言語はまた、node.js といったブラウザー以外の環境でも使用されています。

+ +

ECMAScript の該当範囲

+ +

とりわけ、ECMAScript は以下のものを定義しています。

+ + + +

ブラウザーサポート

+ +

2016 年 10 月以降、主要ウェブブラウザーの現在のバージョンは、ECMAScript 5.1ECMAScript 2015(ES6 としても知られる)を実装していますが、(まだ使用中の)古いバージョンは ECMAScript 5 のみが実装されています。

+ +

将来

+ +

ECMAScript の第 6 版は、ECMA 総会で 2015 年 6 月 17 日に正式に承認され、標準として公開されました。それ以来、ECMAScript の版は毎年発行されています。

+ +

国際化 API

+ +

ECMAScript 国際化 API 仕様は Ecma TC39 によって標準化された ECMAScript 言語仕様の増補仕様です。国際化 API は JavaScript アプリケーションのための照合機能(文字列比較)、数値フォーマット、日時フォーマットを提供し、アプリケーション上で言語を選択して必要に応じて各種機能を調整可能にします。標準仕様は 2012 年 12 月に承認されました。ブラウザーでの実装状況は Intl オブジェクトのドキュメントにて随時更新されています。国際化標準は昨今、毎年承認されてブラウザーは常に実装を改良しています。

+ +

DOM API

+ +

WebIDL

+ +

WebIDL 仕様は DOM 技術と ECMAScript とを繋ぐ機能を提供します。

+ +

DOM の中核

+ +

Document Object Model (DOM) は HTML、XHTML、XML ドキュメント内のオブジェクトを表し、その情報をやりとりするための、クラスプラットフォームな言語に依存しない取り決めです。DOM ツリー内のオブジェクトはそのオブジェクトのメソッドを使って処理、操作できます。{{glossary("W3C")}} によって Document Object Model の中核部分が標準化されており、これにより HTML や XML ドキュメントをオブジェクトとして抽象化して言語に依存しないインターフェイスを定義し、その抽象化したものを取り扱うメカニズムも定義されます。DOM によって定義されているものには、次のものがあります :

+ + + +

ECMAScript から見た場合に、DOM 仕様で定義されるオブジェクトのことを「ホストオブジェクト」と呼びます。

+ +

HTML DOM

+ +

ウェブのマークアップ言語である HTML は、DOM に関しても規定しています。HTML は DOM Core 内で定義された抽象概念の上位レイヤーを形成し、更に要素の意味も定義しています。HTML DOM には HTML 要素の className プロパティ、あるいは {{domxref("document.body")}} といった API などが含まれます。

+ +

HTML 仕様はドキュメント上の制約事項についても定義しています。例えば、「順序なしリストを意味する ul 要素のすべての子は、そのリストアイテムを意味する li 要素でなければならない」などです。一般に、標準で定義されていない要素や属性を使用することは禁止されています。

+ +

Document オブジェクトや、Window オブジェクトや、その他の DOM 要素についてお探しであれば、DOM ドキュメントをご覧ください。

+ +

その他の重要な API

+ + + +

ブラウザーサポートについて

+ +

どのウェブ開発者も「DOM は面倒である」ということに悩まされてきました。ブラウザーのサポートの統一性はその機能によって大きく異なります。この状況の主な理由は、DOM の重要な機能の多くが、仮にあったとしてもその仕様が非常に不明確であったという事実です。また様々なウェブブラウザーが、例えば Internet Explorer によるイベントモデルの使用実態と一致させようと、互換性の無い機能を追加してきました。2011 年 6 月以降、W3C と特に WHATWG が相互運用性を改善するために細部にわたって古い機能を定義しており、これらの仕様に基づいて、ブラウザーへの実装は日々改善されています。

+ +

ブラウザー間の互換性保持のための一般的な (おそらく最も信頼できるわけではない) アプローチのひとつとして、JavaScript のライブラリーの使用が挙げられます。これらのライブラリーは DOM の機能を抽象化し、異なるブラウザーでこれらの API が同じように動作するようにします。最も広く使われているフレームワークには、jQueryprototypeYUI があります。

-- cgit v1.2.3-54-g00ecf