JavaScriptの文法について

JavaScriptの主な命令(ステートメント)の一覧。

制御構造

  • 条件分岐:
    • if (条件式) { // 処理 }
    • if (条件式) { // 処理1 } else { // 処理2 }
    • if (条件式1) { // 処理1 } else if (条件式2) { // 処理2 } else { // 処理3 }
    • switch (式) { case 値1: // 処理1; break; case 値2: // 処理2; break; default: // 処理3; }
  • 繰り返し:
    • for (初期化; 条件式; 更新) { // 処理 }
    • for (変数 in オブジェクト) { // 処理 }
    • for (変数 of 反復可能オブジェクト) { // 処理 }
    • while (条件式) { // 処理 }
    • do { // 処理 } while (条件式);
  • ジャンプ:
    • break; (ループやswitch文から抜ける)
    • continue; (ループの現在のイテレーションをスキップして次へ)

変数と宣言

  • var 変数名; (関数スコープの変数を宣言)
  • let 変数名; (ブロックスコープの変数を宣言)
  • const 定数名 = 値; (ブロックスコープの定数を宣言)

関数

  • function 関数名(引数1, 引数2, ...) { // 処理; return 値; } (関数宣言)
  • const 関数名 = function(引数1, 引数2, ...) { // 処理; return 値; }; (関数式)
  • (引数1, 引数2, ...) => { // 処理; return 値; } (アロー関数)
  • return 値; (関数の実行結果を返す)

オブジェクトと配列

  • const オブジェクト名 = { プロパティ名1: 値1, プロパティ名2: 値2, ... }; (オブジェクトリテラル)
  • const 配列名 = [値1, 値2, ...]; (配列リテラル)
  • オブジェクト名.プロパティ名 (プロパティへのアクセス)
  • オブジェクト名['プロパティ名'] (プロパティへのアクセス (文字列キーの場合など))
  • 配列名[インデックス] (配列の要素へのアクセス)
  • new Object() (オブジェクトの作成)
  • new Array() (配列の作成)

演算子

  • 算術演算子: +, -, *, /, %, ++, --
  • 代入演算子: =, +=, -=, *=, /=, %=
  • 比較演算子: ==, ===, !=, !==, >, <, >=, <=
  • 論理演算子: && (AND), || (OR), ! (NOT)
  • 文字列演算子: + (連結)
  • 条件 (三項) 演算子: 条件式 ? 真の場合の値 : 偽の場合の値
  • typeof 演算子: 変数のデータ型を返す
  • instanceof 演算子: オブジェクトが特定のクラスのインスタンスであるかを判定
  • in 演算子: オブジェクトに指定されたプロパティが存在するかを判定

例外処理

  • try { // 例外が発生する可能性のある処理 } catch (エラーオブジェクト) { // 例外が発生した場合の処理 } finally { // 常に実行される処理 }
  • throw 例外; (意図的に例外を発生させる)

その他

  • console.log() (コンソールにメッセージを出力)
  • alert() (警告ダイアログを表示)
  • prompt() (ユーザーに入力を促すダイアログを表示)
  • document (HTML DOM (Document Object Model) のルートオブジェクト)
  • window (ブラウザのウィンドウを表すオブジェクト)
  • this (現在の実行コンテキストにおけるオブジェクトを参照)
  • new (コンストラクタ関数から新しいオブジェクトを作成)
  • class クラス名 { constructor() { ... } メソッド名() { ... } } (クラス定義)
  • import / export (モジュールのインポートとエクスポート)
  • async / await (非同期処理)


コメント