気の向くままに辿るIT/ICT
webzoit.netウェブサイトホームページ
ECMAScript/JavaScript

7 語彙的な表記 / Lexical Conventions / Standard ECMA-262 5.1 Edition

ウェブ造ホーム前へ次へ
サイト内検索
カスタム検索
ECMAScript / JavaScript とは

7 語彙的な表記 / Lexical Conventions / Standard ECMA-262 5.1 Edition

ECMAScript言語仕様 / ECMA-262 5.1 Edition

 訳の正確性を保証するものではありませんので必要に応じて原文であるEcma InternationalECMA-262にある ECMA-262.pdf ( ECMA-262 5.1 Edition )を参照下さい。

訳:2012年04月 webzoit.net

ECMA-262 5.1 Edition 著作権情報

ECMA-262 5.1 読解時の留意点と原文リソース

7 語彙的な表記

 ECMAScriptプログラムのソーステキストは、まず最初にトークン、行終端、コメントやホワイトスペースといった入力要素の並びに変換されます。 ソーステキストは、左から右へスキャンされ、反復的に次の入力要素として最も長い利用可能な文字の並びを取り出します。 語彙的な文法においては2つの目標記号があります。 InputElementDiv 記号は、先行する除算(/)演算子、除算代入(/=)演算子が許容される場合、それらの構文的な文法コンテキスト内で利用されます。 InputElementRegExp 記号は、他の構文的な文法コンテキスト内で利用されます。

[注釈:]除算(/)や除算代入(/=)の両方が先行する場合、構文上の文法コンテキストは何もなく、先行する正規表現リテラル( RegularExpressionLiteral )が許容されます。

 これは、例えば次の例においてセミコロン挿入(7.9項参照)による影響を受けないということです。

a = b
/hi/g.exec(c).map(d);

 LineTerminator(行終端)の直後にくる非ホワイトスペースや非コメント文字の先頭が、スラッシュ(/)である場合、その構文上のコンテキストは、除算や除算代入を許容し、LineTerminator(行終端)位置で挿入されるセミコロンはありません。

 つまり、上記の例は、

a = b / hi / g.exec(c).map(d);

(改行のない一行の文)と同じ様に解釈されるということです。

【構文】
InputElementDiv ::
	WhiteSpace
	LineTerminator
	Comment
	Token
	DivPunctuator

InputElementRegExp ::
	WhiteSpace
	LineTerminator
	Comment
	Token
	RegularExpressionLiteral

ウェブ造ホーム前へ次へ