気の向くままに辿るIT/ICT/IoT
JavaScript

JavaScript文法

ホーム前へ次へ
JavaScriptの文法と記述方法

JavaScriptの文法

JavaScript文法

 当初、Netscape communicationsによって開発リリースされたJavaScriptは、ECMA-262として世界標準規格となっており、今やJavaScriptの文法と言えばECMAScriptの文法を指す一方、それを踏まえた上で、その名称はJavaScriptの方が多用されています。

 JavaScriptは、C/C++やJavaを参考に作られたブラウザ上で動的コンテンツを作成する為のオブジェクト指向スクリプトなので、その文法も共通する部分も多々ある一方、前者含め一般にオブジェクト指向といえばクラスベースであるのに対し、JavaScriptはプロトタイプベースである点が異なります。

 初期のJavaScriptは、プロトタイプベースのオブジェクト指向と同時に手続き型としても利用可能なブラウザ用のクライアントサイドのスクリプトとして誕生しました。

 ちなみに後のECMAScript及びECMAScriptベースのJavaScriptは、プロトタイプベースのオブジェクト指向スクリプトとして仕様化されています。

JavaScriptエンジン / JavaScript Engine

 JavaScriptを解釈するプログラムはJavaScript Engineと呼ばれ、JavaScriptアプリケーションプログラムを実行することができるブラウザやビューワは、JavaScriptエンジンを実装しているということになります。

JavaScript / ECMAScriptの文法

 オブジェクト指向スクリプトであるJavaScript / ECMAScriptでは継承、派生、メソッド、インスタンス、コンストラクタ、try...catchなどの仕様が取り入れられている一方、C++、Smalltalk、Javaのようなクラスはありません。

 ただ、クラスがない代わりにJavaScriptのオブジェクトは、リテラル記法を介して、またはオブジェクトを作成し、コンストラクタを介して、さまざまな方法で作成される場合があり、そのプロパティに初期値を割り当てることにより、全部またはその一部を初期化するコードを実行することができるようになっています。

旧JavaScriptとECMAScript仕様

 ブラウザ独自拡張時代の旧来のJavaScriptはIE、Netscape(後継であるmozilla Firefox含む)以外の後発ブラウザでも利用できることもありますし、ECMAScript対応以後も少なくともIE、Netscape及びFirefoxについては互換性の点からも従来の関数や構文が全く使用できなくなるということは考えにくいものと思われます。

 当サイトにおいても情報刷新が必要と思いつつもなかなか着手するに至らなかったのですが、そんな折、割と最近 ECMA-262 の最新版(Edition 5.1)が出ていたこと、原文を覗いてみるとザッと流し読み程度では、コーディング時に使える仕様なのか、仕様説明上の仕様なのかハッキリしないところが散見され、原文をじっくり読んで解説を書くくらいなら、いっそのこと検索してみて存在しないようなら解説以前に訳文も載せるつもりで訳してみてもいいかと思うに至った2012年04月某日、検索してみたところ、第5.1版については、それらしきものが見当たらなかった為、着手することにしました。

 旧掲載情報もscriptタグを含むHTML仕様はもちろん、JavaScript情報自体も現役で、または比較対比材料として十二分に使える情報もある為、今のところサイト内のJavaScript関連の新旧のページをどう再構成すべきか決めるに至っておらず、雑然としてしまう可能性が高いこと、訳の再検証をしきれていないこと、仕様書の付録含め、解説が訳文全てを網羅しきれていない可能性などについてはご容赦を。

ECMAScript ECMA-262 第5.1版ベースのJavaScript

【ECMAScript / ECMA-262 Edition 5.1 訳】

 尚、下記リンクは、多くの場合、ページ情報量の過多を回避する為、場合によって更に章、節、句ごとに、任意に細分化し、ネストしている部分があります。

旧来掲載のJavaScript

ホーム前へ次へ