Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
JavaScript アプリケーションは、適切な構文で書かれた文から構成されます。ひとつの文が数行に渡る場合もあります。また複数の文それぞれがセミコロンで区切られていれば 1 行となる場合もあります。そのキーワードはひとつではなく、キーワードのグループとなっています。
アルファベット順リストは左サイドバーで確認できます。
関数が返す値を指定します。
break現在実行中のループ、switch による分岐、あるいはラベル文を終了し、その終了した文に続く文へとプログラムの制御を移行します。
continue現在実行中のループ、またはラベル付きループで現在反復している文の実行を終了し、そのループの実行を次の反復から継続します。
throwユーザー定義の例外を発生させます。
if...else与えられた条件が真の場合はある文を実行します。条件が偽の場合はまた別の文を実行できます。
switchある式を評価し、式の値を case 節と照らし合わせ、 case 節に関連付けられた文を実行します。
try...catch実行を試み、例外が発生した際に行うべき処理を規定する文のブロックを記述します。
変数を宣言し、その変数をある値に初期化することもできます。
letブロックスコープを持つローカル変数を宣言し、その変数をある値に初期化することもできます。
const読み取り専用の名前付き定数を宣言します。
using同期的に破棄されるローカル変数を宣言します。
await using非同期に破棄されるローカル変数を宣言します。
指定された仮引数を持つ関数を宣言します。
function*イテレーターをより簡単に書けるジェネレーター関数です。
async function指定した引数を持つの非同期関数を宣言します。
async function*非同期ジェネレータ関数により、非同期のイテレーターをより簡単に書くことができます。
classクラスを宣言します。
テスト条件が偽と評価されるまで指定された文を実行するループを作成します。この条件は文が実行されたあとに評価されます。その結果、少なくとも 1 回は指定された文が実行されます。
for丸括弧で囲まれ、セミコロンで区切られた 3 つの式と、それに続くループ内で実行される文から構成されるループを作成します。
for...inオブジェクトの列挙可能なプロパティに対し任意の順番で反復処理を行います。それぞれ個別のプロパティに対し、文を実行できます。
for...of反復可能オブジェクト (配列、配列風オブジェクト、イテレーターとジェネレーターを含む) を反復処理し、それぞれ個別のプロパティの値に対する実行文をともなった反復処理フックを呼び出します。
for await...of非同期反復オブジェクト、配列風オブジェクト、イテレーターとジェネレーターを反復処理し、各固有のプロパティ値で実行する文を実行しつつ、カスタムイテレーションフックを実行する。
whileテスト条件が真と評価される間、指定した文を実行するループを作成します。この条件は文が実行される前に評価されます。
空文は、文が必要ないが JavaScript の文法上 1 つの文が必要な場合に使います。
ブロックブロック文は 0 個以上の文をグループ化するのに使います。ブロックは 1 組の波括弧で囲みます。
式文式文は、式を評価し、その結果を破棄します。これにより、関数の実行や変数の更新など、式に付随する効果を実行することができます。
debugger利用可能なデバッグ機能を呼び出します。利用可能なデバッグ機能がない場合、この文は無効となります。
export外部モジュールや別のスクリプトでインポートできるように、関数をエクスポートするのに使われます。
import外部モジュールや別のスクリプトからエクスポートされる関数をインポートするのに使われます。
ラベルbreak や continue 文を使う際に参照できる識別子を含む文を用意します。
with文のスコープチェーンを拡張します。
この節では、 2 種類の構文を比較します。文と宣言です。これらは 2 つの独立した文法集合です。以下のものは宣言です。
前述のうち、それ以外のものはすべて文です。
「文」と「宣言」という用語は、JavaScript の形式文法において厳密な意味を持ち、それがコードのどこに配置されるかに影響します。例えば、ほとんどの制御フロー構造では、本体は文だけを受け入れます。例えば if...else の分岐先などです。)
もし、文の代わりに宣言を使用した場合、 SyntaxError となります。例えば、 let 宣言は文ではないので、 if 文の本体としてそのままの形を使用することはできません。
一方、var は文なので、それ自身で if 本体として使用することができます。
宣言は「識別子と値を結びつける」ものであり、文は「アクションを実行する」ものであると考えることができます。なぜなら、var は通常の字句スコープの規則に従わないので、副作用を引き起こす可能性があるからです。グローバル変数の作成、既存の var で定義された変数の変更、ブロックの外から見える変数の定義(var で定義された変数はブロックスコープに入らないため)のような形式です。
他の例として、ラベルは文にのみ付けることができます。
メモ: 関数宣言にラベルを持たせる古い文法がありますが、ウェブの現実との互換性のために標準化されただけです。
これを回避するには、宣言を中括弧で囲んで、ブロック文の一部にすることができます。
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2026年1月22日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.