空文

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

構文

;

説明

空文はセミコロン (;) で、JavaScript 構文が文を必要とするときでも文を実行しないことを示します。

逆のふるまいとして、JavaScript が単一文のみ許可しているのに複数の文にしたい場合には、ブロック文 を使ってください。ブロック文は、いくつかの文を単一文に結合します。

空のループ文

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

let arr = [1, 2, 3];

// 配列の値をすべて 0 にする
for (let 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 (ECMA-262)
Empty statement の定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
Empty statement (;)Chrome 完全対応 3Edge 完全対応 12Firefox 完全対応 1IE 完全対応 3Opera 完全対応 3Safari 完全対応 5WebView Android 完全対応 1Chrome Android 完全対応 18Firefox Android 完全対応 4Opera Android 完全対応 10.1Safari iOS 完全対応 4.2Samsung Internet Android 完全対応 1.0nodejs 完全対応 0.1.100

凡例

完全対応  
完全対応

関連情報