空文

空文 は、JavaScript 構文で文が想定されているときに、文を用意しないために使います。

構文

;

説明

空文はセミコロン (;) で、JavaScript 構文が文を必要とするときでも文を実行しないことを示します。逆のふるまいとして、JavaScript が単一文のみ許可しているのに複数の文にしい場合には、ブロック文 を使ってください。ブロック文は、いくつかの文を単一文に結合します。

空文は、ループ文で使われれることがあります。空のループ文の例をご覧ください:

var arr = [1, 2, 3];

// 配列の値をすべて 0 にする
for (i = 0; i < arr.length; arr[i++] = 0) /* 空文 */ ;

console.log(arr)
// [0, 0, 0]

注意: 空文を意図的に使っていることをコメントするとよいでしょう。通常のセミコロンと区別するのが難しいからです。次の例は、おそらく意図的でない使用例です:

if (condition);       // 注意: この "if" は何も実行しない!
   killTheUniverse()  // この関数が常に実行される!!!

別の例: 中括弧 ({}) のない if...else 文。threetrue なら、何も起こりません。four の値は関係なく、else 内の launchRocket() 関数も実行されません。

if (one)
  doOne();
else if (two)
  doTwo();
else if (three)
  ; // 何もしない
else if (four)
  doFour();
else
  launchRocket();

仕様

仕様 ステータス コメント
ECMAScript 2017 Draft (ECMA-262)
Empty statement の定義
ドラフト  
ECMAScript 2015 (6th Edition, ECMA-262)
Empty statement の定義
標準  
ECMAScript 5.1 (ECMA-262)
Empty statement の定義
標準  
ECMAScript 3rd Edition (ECMA-262)
Empty statement の定義
標準  
ECMAScript 1st Edition (ECMA-262)
Empty statement の定義
標準 初期定義。

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート (有) (有) (有) (有) (有)
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート (有) (有) (有) (有) (有) (有)

関連情報

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: ambi, dskmori, shide55
 最終更新者: ambi,