JIS X 3060 最新規格 ECMAScript言語|JIS規格 一覧|改正 更新情報|制定

JIS X 3060 ECMAScript言語の規格 JISX3060の一覧・記法,ソーステキスト,字句,型,型変換,実行文脈,式,文,関数定義,プログラム,標準固有オブジェクト,誤り,概観,ウェブのスクリプト,言語の概説,基本・名称・用語・知識・JIS最新改正更新情報に関して解説!

JIS X3060:2000の規格は,ECMAScript言語を規定。

ページコンテンツ

ECMAScript言語 規格 一覧表

JIS X 3060

ECMAScript言語の一覧

最新 JIS X3060 規格の詳細 更新日 情報

JIS X 3060:2000の最新の詳細や改正,更新日の情報!

JIS 改正 最新情報

JIS規格番号 JIS X3060 JIS改正 最新・更新日
規格名称 ECMAScript言語
英語訳 Information technology – ECMAScript language specification
対応国際規格 ISO
主務大臣 経済産業 制定 年月日 2000年04月20日
略語・記号 No JIS X3060:2000
ICS 35.060JISハンドブック

JIS規格「日本工業規格」は、2019年7月1日の法改正により名称が「日本産業規格」に変わりました。

適用範囲 [1]

この規格は,ECMAScript言語を規定する。

適合性 [2]

ECMAScriptに適合する実装は,この規格で規定する,型,値,オブジェクト,特性,関数とプログラム構文のすべてを提供しなければならない。

この規格に適合する実装は,UnicodeTM標準の第2.0版に適合する文字符号,又はJIS X 0221が実装水準3の2オクテットBMP形式として規定する文字符号を,解釈できなければならない。実装が,採用する文字集合として,JIS X 0221の部分集合を特に指定しなかった場合は,BMP部分集合である部分集合用図形文字の組300が指定されているものとする。

ECMAScriptに適合する実装は,この規格で規定する以外の付加的な型,値,オブジェクト,特性と関数を提供してもよい。特に,ECMAScriptに適合する実装は,この規格で規定しない特性とその値を,この規格で規定するオブジェクトに対して提供してもよい。

ECMAScriptに適合する実装は,この規格で規定しないプログラム構文を提供してもよい。特に,ECMAScriptに適合する実装は,この規格の7.4.3に挙げる「将来使用する予約語」を使用するプログラム構文を提供してもよい。

引用規格 [3]

次に掲げる規格は,この規格に引用されることによって,この規格の一部を構成する。これらの引用規格のうちで,発行年を付記してあるものは,記載の年の版だけがこの規格の規定を構成するものであって,その後の改正版・追補には適用しない。発行年を付記していない引用規格は,追補を含むその最新版を適用する。

-JIS X 0201 7ビットと8ビットの情報交換用符号化文字集合

備考 ISO/IEC 646 : 1991, Information technology-ISO 7-bit coded character set for information interchangeに,JIS X 0201が整合している。

-JIS X 0221 国際符号化文字集合 (UCS) -第1部 体系と基本多言語面

備考 ISO/IEC 10646-1 : 1993, Information Technology-Universal Multiple-Octet Coded Character Set

(UCS) -Part 1 : Architecture and Basic Multilingual Planeが,JIS X 0221と一致している。

-JIS X 3010 プログラム言語C

備考 ISO/IEC 9899 : 1990, Programming languages-Cが,JIS X 3010と一致している。

-ANSI/IEEE Std 754-1985, IEEE Standard for Binary Floating-Point Arithmetic. Institute of Electrical and Electronics Engineers, New York (1985).

-Unicode Inc. (1996), The UnicodeTM Standard, Version 2.0. ISBN : 0-201-48345-9, Addison-Wesley Publishing Co., Menlo Park, California.

概要 [4]

ISO/IEC 16262 : 1998の4.Overviewによる。

記法 [5]

ISO/IEC 16262 : 1998の5.Notational Conventionsによる。

ソーステキスト [6]

ISO/IEC 16262 : 1998の6.Source Textによる。

字句 [7]

ISO/IEC 16262 : 1998の7.Lexical Conventionsによる。

型 [8]

ISO/IEC 16262 : 1998の8.Typesによる。

型変換 [9]

ISO/IEC 16262 : 1998の9.Type Conversionによる。

実行文脈 [10]

ISO/IEC 16262 : 1998の10.Execution Contextsによる。

式 [11]

ISO/IEC 16262 : 1998の11.Expressionsによる。

文 [12]

ISO/IEC 16262 : 1998の12.Statementsによる。

関数定義 [13]

ISO/IEC 16262 : 1998の13.Function Definitionによる。

プログラム [14]

ISO/IEC 16262 : 1998の14.Programによる。

標準固有オブジェクト [15]

ISO/IEC 16262 : 1998の15.Native ECMAScript objectsによる。

誤り [16]

ISO/IEC 16262 : 1998の16.Errorsによる。

附属書1(参考) ECMAScript言語の概説

この附属書は,原国際規格ISO/IEC 16262 : 1998, Information technology-ECMAScript language specificationの「規定の一部ではない。」と明記された「4.Overview」を,ECMAScriptの概要理解のために,参考として完全翻訳したものであって,規定の一部ではない。

概観 [1]

ECMAScriptは,ホスト環境の中で,処理を行い,処理オブジェクトを操作するためのオブジェクト指向言語である。この規格で規定するECMAScriptは,それ自体で処理が完結することを意図していない。実際,この規格には,外部データの入力と処理結果の出力についての規定が存在しない。その代わりに,ECMAScriptプログラムの処理環境が,この規格が規定するオブジェクトと種々の機能に加えて,その環境に固有のホストオブジェクトを提供することになっている。ホストオブジェクトは,この規格の規定対象外ではあるが,ECMAScriptプログラムから扱える幾つかの特性と呼出し可能な幾つかの関数とを提供することになる。

スクリプト言語とは,既存のシステムがもつ機能を操作し,調整し,自動化するためのプログラム言語を指す。このようなシステムでは,多くの機能がユーザインタフェースとして用意されていて,それらの機能をプログラム制御するための機構としてスクリプト言語は動作する。この意味で,既存のシステムは,オブジェクトと機能を与えるホスト環境となって,スクリプト言語の能力を補完する。スクリプト言語は,専門のプログラマが使うだけでなく,専門ではないプログラマも使うことを想定しているので,格式張らない形が幾つも取り入れてある。

ECMAScriptは,もともとウェブ用のスクリプト言語として設計されたもので,ウェブページのブラウザに能動性を与える機能,とウェブを用いたクライアントサーバ構成でのサーバ処理を行う機能をもつ。ECMAScriptは,様々なホスト環境に対してのスクリプト能力をもっているので,この規格では,核となるスクリプト言語を特定のホスト環境に依存しない形で規定する。

ECMAScriptの幾つかの機能は,他のプログラム言語の機能に類似する。特に,JavaTM言語とSelf言語に類似する。これらの言語は,次に示す文献に詳しい。

- Gosling, James, Bill Joy and Guy Steele. The Java Language Specification. Addison Wesley Publishing Co., 1996.
- Ungar, David, and Smith, Randall B. Self: The Power of Simplicity. OOPSLA’87 Conference Proceedings, pp.227-241, Orlando, FL, October, 1987.

ウェブのスクリプト [2]

ウェブブラウザは,クライアント側でのECMAScriptのホスト環境となり,ウィンドウ,メニュー,ポップアップ,対話ボックス,テキスト領域,アンカ,フレーム,履歴,クッキー,入出力などを提供する。このホスト環境は,さらに,注目対象の移動,ページと画像のロード又はアンロード,誤りと異常終了,選択,フォーム送信,マウス動作などの事象に,スクリプトプログラムを連動させる手段も提供する。スクリプトプログラムをHTMLページの中に書くことによって,ユーザインタフェース要素に加え,固定したテキストと画像だけでなく,処理を加えたテキストと画像も含むページを表示できる。こうしたスクリプトプログラムは,ユーザからの反応に呼応して動作するので,いわゆる主プログラムを必要としない。

ウェブサーバは,サーバ側でのECMAScriptのクライアント側とは別のホスト環境となり,要求,クライアント,ファイルなどを表すオブジェクトを提供し,データを共有したりロックしたりするための機能を提供する。クライアント側のスクリプトもサーバ側のスクリプトも用いることで,クライアントとサーバとにまたがった分散処理を行いながら,ウェブに基づく応用システムでの調整されたユーザインタフェースが提供できるようになる。

ECMAScript環境を提供するウェブブラウザとサーバは,それぞれに固有のホスト環境を提供することで,ECMAScript実行環境を補完する。

言語の概説 [3]

ECMAScriptは,オブジェクトに基づく。すなわち,基本言語機能とホスト機能をオブジェクトが提供するので,ECMAScriptプログラムは,通信し合うオブジェクトの集まりの形をとる。ECMAScriptオブジェクトは,名前をもった特性の集まりをいう。各特性は,その使用方法を決定する0個以上の属性をもつ。例えば,特性に対するReadOnly(読込み専用)属性がtrue(真)に設定されている場合,実行中のECMAScriptプログラムがその特性の値を変更しようとしても変更が生じない。特性は,ほかのオブジェクト,基本値又はメソッドを入れておく容器として機能する。基本値とは,幾つかの組込み型の要素をいう。基本値を要素とする組込み型に,Undefined, Null, Boolean, NumberとStringがある。組込み型には,もう一つ,Objectがあり,オブジェクトは,すべて,その要素となる。メソッドとは,特性に入っている関数をいう。

ECMAScriptには,一群の組込みオブジェクトが用意してある。これらは,ECMAScriptの実体を定義付ける性格をもつ。組込みオブジェクトには,Globalオブジェクト,Objectオブジェクト,Functionオブジェクト,Arrayオブジェクト,Stringオブジェクト,Booleanオブジェクト,Numberオブジェクト,MathオブジェクトとDateオブジェクトがある。

ECMAScriptには,演算子が組み込んである。演算子は,厳密にいうと,関数でもメソッドでもない。ECMAScript演算子には,単項演算子,乗法演算子,加法演算子,ビット単位のシフト演算子,関係演算子,等価演算子,ビット単位演算子,論理演算子,代入演算子とコンマ演算子がある。

ECMAScript構文は,意図的にJava構文に似せてある。しかしながら,規則をゆるめ,スクリプト言語として簡易に使える工夫が施してある。例えば,変数の型を宣言する必要はないし,特性を型付ける必要もない。ユーザ定義関数にも,宣言の位置より後ろでないと呼び出してはならないという縛りがない。

オブジェクト [3.1]

ECMAScriptには,C++,Smalltalk,Javaなどとは違って,本来のクラスがない。代わりに,オブジェクトを生成するためのコンストラクタ(constructor,構築子ともいう。)を置く。コンストラクタは,関数であり,それを実行することで,オブジェクトヘの記憶域の割付けとオブジェクトの初期設定とが生じる。オブジェクトの初期設定とは,オブジェクトの特性の全部又は一部に初期値を与えることをいう。コンストラクタを含めて,すべての関数はオブジェクトだが,すべてのオブジェクトがコンストラクタというわけではない。すべてのコンストラクタは,特性Prototypeをもつ。この特性は,プロトタイプに基づく継承と共有特性を実装するために用いる。オブジェクトは,コンストラクタを用いたnew式によって生成する。例えば,new String (「A String」) は,新しい文字列オブジェクトを生成する。new式を使わずにコンストラクタを呼び出した場合の結果は,コンストラクタに依存する。例えば,String

(「A String」) は,基本値の文字列を生成し,オブジェクトを生成しない。

ECMAScriptでは,プロトタイプに基づく継承が行われる。すべてのコンストラクタは付随するプロトタイプをもつ。コンストラクタによって生成されたオブジェクトは,すべて,そのコンストラクタに付随するプロトタイプ(これをオブジェクトのプロトタイプという。)への暗黙参照をもつ。さらに,そのプロトタイプが,nullではない暗黙参照をもち,それ自体のプロトタイプを指していることがある。この関係

の繰返しを,プロトタイプ連鎖という。オブジェクトに対する特性の参照は,プロトタイプ連鎖の中で最初に現れる,その名前の特性をもつオブジェクトのその特性への参照となる。すなわち,まず,直接に指定されているオブジェクトについて,その特性が調べられる。そのオブジェクトがその名前の特性をもっている場合は,その特性が参照される。オブジェクトがその名前の特性をもたない場合には,次にそのオブジェクトのプロトタイプが調べられる。以下同様に調べられていく。

クラスに基づくオブジェクト指向言語では,一般に,状態はインスタンスが保持し,メソッドはクラスが保持しているので,構造と振舞いとだけが継承の対象となる。ECMAScriptでは,状態もメソッドもオブジェクトが保持していて,構造,振舞いと状態のすべてが継承の対象となる。

プロトタイプどうしは,プロトタイプがもつ特性について,それと同じ特性を自らもっているのでない限り,それらの特性とその値を共有することになる。附属書1図1にこの状況を例示する。

ECMAScript

附属書1図1 ECMAScriptの継承関係

CFは,コンストラクタとする。これは,オブジェクトでもある。CF1,CF2,CF3,CF4とCF5の五つのオブジェクトをnew式で生成したとする。これらオブジェクトの各々は,q1とq2という名前の付いた特性をもつ。破線は,プロトタイプの暗黙参照を示す。例えば,CF3のプロトタイプは,CFpとなる。コンストラクタCFは,それ自体,p1とp2という名前の付いた二つの特性をもつ。これらの特性は,CFp,CF1,CF2,CF3,CF4とCF5には見えない。CFpの中のCFp1という名前の付いた特性は,CF1,CF2,CF3,CF4とCF5によって共有される。同様に,CFpの暗黙プロトタイプ連鎖の中に存在する,名前がq1,q2とCFp1ではない任意の特性も共有される。CFpとCFとの間にはプロトタイプの暗黙参照リンクが存在しないことに注意すること。

クラスに基づくオブジェクト言語と違って,オブジェクトには,動的に特性を追加することができる。それには,その特性に値を代入するだけでよい。すなわち,コンストラクタがオブジェクトを生成する際に,オブジェクトのすべての特性に名前を付けたり,値を代入したりしておく必要はない。附属書1図1では,CFpの特性に新しい値を割り当てることで,CF1,CF2,CF3,CF4とCF5に対する新しい共有特性を追加できる。

定義 [4]

この附属書で用いる主な用語の定義の大略は,次のとおりとする。

型 (type) [4.1]

データ値の集合。

基本値 (primitive value) [4.2]

Undefined型,Null型,Boolean型,Number型又はString型の要素。基本値は,処理系の最下層で直接にデータ値を表現する。

オブジェクト (object) [4.3]

Object型の要素。個々のオブジェクトは,特性の集まりからなる。特性は,基本値,オブジェクト又は関数を保持する。オブジェクトの特性の中で関数を保持する特性を,そのオブジェクトのメソッドという。

コンストラクタ,構築子 (constructor) [4.4]

オブジェクトを生成し初期設定する関数。コンストラクタは,付随するプロトタイプオブジェクトをもつ。プロトタイプは,継承と特性共有を実装するのに用いる。

プロトタイプ (prototype) [4.5]

ECMAScriptにおける,構造,状態と振舞いの継承を実装する際に用いるオブジェクト。オブジェクトは,そのオブジェクトを生成したコンストラクタの付随プロトタイプへの暗黙参照をもつ。

この暗黙参照は,特性の参照の解決に用いる。コンストラクタcの付随プロトタイプは,プログラムのうえでは,c. prototypeと書いて参照する。オブジェクトのプロトタイプに特性を追加すると,継承の仕組みによって,同じプロトタイプをもつオブジェクトが共有することになる。

固有オブジェクト (native object) [4.6]

ECMAScriptの処理系がホスト環境によらず提供するオブジェクト。標準の固有オブジェクトは,この規格で規定する。固有オブジェクトには,組込みオブジェクトもあれば,ECMAScriptの実行中にコンストラクタを使って生成されるオブジェクトもある。

組込みオブジェクト [4.7]

(built-in object) ECMAScriptの処理系がホスト環境によらず提供し,ECMAScriptプログラムの実行開始時点に存在しているオブジェクト。標準の組込みオブジェクトは,この規格で規定する。ECMAScriptの処理系は,その他の組込みオブジェクトを定義してもよい。すべての組込みオブジェクトは,固有オブジェクトとなる。

ホストオブジェクト (host object) [4.8]

ECMAScriptの実行環境を補完する形でホスト環境が提供するオブジェクト。固有オブジェクトでないオブジェクトは,ホストオブジェクトとなる。

不定値 (undefined value) [4.9]

値を代入していない変数がもつ基本値。

Undefined型 (Undefined type) [4.10]

基本値である不定値だけを要素とする集合。

ナル値 (null value) [4.11]

空参照を表す基本値。プログラムのうえでは,nullと書く。

Null型 (Null type) [4.12]

基本値nullだけを要素とする集合。

論理値 (boolean value) [4.13]

基本値trueとfalse。trueは論理での真に対応し,falseは偽に対応する。

Boolean型 (Boolean type) [4.14]

基本値trueとfalseだけを要素とする集合。

論理オブジェクト (boolean object) [4.15]

組込みオブジェクトBooleanのインスタンスであるObject型の要素。言い換えると,new式でコンストラクタBooleanを指定し,その引数に論理値を与えて生成したオブジェクト。生成されたオブジェクトは,その暗黙の(名前をもたない)特性として,その論理値をもつ。論理オブジェクトは,その論理値に強制的に型変換されるので,論理値が必要となる位置に書くこともできる。

この強制的な型変換は,ECMAScriptのもつ便宜性の一つである。その目的は,どんな経歴のプログラマにも対応することにある。手続き型言語又は命令型言語に慣れたプログラマにとっては,論理値,文字列値,数値などを使うのが自然であるし,オブジェクト指向言語に慣れたプログラマにとっては,論理オブジェクト,文字列オブジェクト,数値オブジェクトなどを使うのが直観に合う。

文字列値 (string value) [4.16]

String型の要素。個々の文字列値は,Unicode文字(1)の有限列(長さ0以上)からなる。

(1) この規格でいうUnicode文字とは,Unicode標準が定義する文字のことであって,符号化文字データ要素 (coded-character-data-element) ではないことに注意。したがって,文字合成列(JIS X

0221を参照。)が単一の文字として取り扱われることはない。

なお,原国際規格の制定時,ISO/IEC 10646とUnicode標準において,BMP以外の面への文字の定義が行われていなかったため,この規格においては,16ビットの符号なし整数値として表現されるUnicode符号値と,一つ以上のUnicode符号値からなる列によって符号化されるUnicode文字との,明確な区別がなされていない。この規格におけるString型の要素は,実際には,Unicode文字ではなく,Unicode符号値と解釈するほうがより正確である。

String型 (String type) [4.17]

Unicode文字の有限列(長さ0以上)のすべてからなる集合。

文字列オブジェクト (string object) [4.18]

組込みオブジェクトStringのインスタンスであるObject型の要素。言い換えると,new式でコンストラクタStringを指定し,その引数に文字列値を与えて生成したオブジェクト。生成されたオブジェクトは,その暗黙の(名前をもたない)特性として,その文字列値をもつ。文字列オブジェクトは,その文字列値に強制的に型変換されるので,文字列値が必要となる位置に書くこともできる。

数値 (number value) [4.19]

Number型の要素。1個の数値を直接に表現する。

Number型 (Number type) [4.20]

数値の集合。ECMAScriptでの数値は,IEEE754の64ビット形式倍精度浮動小数点表現を用いて表す。特殊値として,正の無限大,負の無限大と「非数」 (“Not-a-Number”, NaN)

も含む。

数値オブジェクト (number object) [4.21]

組込みオブジェクトNumberのインスタンスであるObject型の要素。言い換えると,new式でコンストラクタNumberを指定し,その引数に数値を与えて生成したオブジェクト。生成されたオブジェクトは,その暗黙の(名前をもたない)特性として,その数値をもつ。数値オブジェクトは,その数値に強制的に型変換されるので,数値が必要となる位置に書くこともできる。数値オブジェクトは,特性をプロトタイプNumberに加えることで,その特性を共有特性としてもっことができる。

Infinity (Infinity) [4.22]

数値の一つ。正の無限大を表す。

NaN [4.23]

(Not-a-Number) 数値の一つ。IEEE754での「非数」を表す。

言語 関連 主なJIS規格 一覧

規格番号 規格名称 規格番号 規格名称
JIS B 3503プログラマブルコントローラ-プログラム言語JIS X 3014プログラム言語C++
JIS B 3700-11産業オートメーションシステムとその統合-製品データの表現と交換-第11部:記述法:EXPRESS言語JIS X 3015プログラム言語C#
JIS B 6327数値制御パートプログラム用言語JIS X 3016共通言語基盤(CLI)
JIS B 8439産業用ロボット-プログラム言語SLIMJIS X 3017プログラム言語Ruby
JIS X 0015情報処理用語(プログラム言語)JIS X 3060ECMAScript言語
JIS X 0412-1言語名コード-第1部:2文字コードJIS X 4151文書記述言語SGML
JIS X 0412-2言語名コード-第2部:3文字コードJIS X 4153文書スタイル意味指定言語(DSSSL)
JIS X 3001-1プログラム言語Fortran-第1部:基底言語JIS X 4156ハイパテキストマーク付け言語(HTML)
JIS X 3001-2プログラム言語Fortran-第2部:可変長文字列JIS X 4159拡張可能なマーク付け言語(XML)1.0
JIS X 3002電子計算機プログラム言語COBOLJIS X 4160XMLパス言語(XPath)1.0
JIS X 3003電子計算機プログラム言語Full BASICJIS X 4170オープン分散処理-統一モデル化言語(UML)1.4.2版
JIS X 3004データベース言語NDLJIS X 4176XMLリンク付け言語(XLink)1.0
JIS X 3005-1データベース言語SQL 第1部:枠組(SQL/Framework)JIS X 4177-2文書スキーマ定義言語(DSDL)-第2部:正規文法に基づく妥当性検証-RELAX NG
JIS X 3005-13データベース言語SQL 第13部:Javaプログラム言語を用いるSQLルーチンと型(SQL/JRT)JIS X 4177-3文書スキーマ定義言語(DSDL)-第3部:規則に基づく妥当性検証-Schematron
JIS X 3005-14データベース言語SQL第14部:XML関連仕様(SQL/XML)JIS X 4177-4文書スキーマ定義言語(DSDL)-第4部:名前空間に基づく検証委譲言語-NVDL
JIS X 3005-2データベース言語SQL 第2部:基本機能(SQL/Foundation)JIS X 4177-7文書スキーマ定義言語(DSDL)-第7部:文字レパートリ記述言語(CREPDL)
JIS X 3005-4データベース言語SQL 第4部:永続格納モジュール(SQL/PSM)JIS X 4178XMLフォーム言語(XForms)1.0
JIS X 3006-1データベース言語 SQLマルチメディアと適用業務パッケージ 第1部:枠組JIS X 4179拡張可能なスタイルシート言語(XSL)1.1
JIS X 3008プログラム言語PascalJIS X 7136地理情報-地理マーク付け言語(GML)
JIS X 3010プログラム言語CJIS X 7201ニュース用マーク付け言語(NewsML)
JIS X 3011プログラム言語MUMPSJIS X 7206拡張可能な事業報告言語(XBRL)2.1
JIS X 3012プログラム言語ISLISPJIS X 7254OWLウェブオントロジ言語-意味論と抽象構文

基本、ねじ、ボルト・ナット、バルブ、管フランジ、シール、試験、その他

DIY設計図をダウンロードできますよ!

図面のダウンロード
数多くの「pdf」や「Dxf、Dwg」設計図面ファイルがフリーでダウンロードでき、
3D図面でわかりやすい寸法図になっています。
ご覧ください。