====== JavaScript 制御構文 ====== --- //[[http://www.y2sunlight.com/water|y2sunlight]] 2020-10-26// ===== if文 ===== === 基本 === if (条件式) { ・・・ } else { ・・・ } === 連結 === if (条件式) { ・・・ } else if (条件式) { ・・・ } else { ・・・ } \\ ===== switch文 ===== switch (式) { case 値1: ・・・ [break;] case 値2: ・・・ [break;] default: ・・・ [break;] } 式は同値演算子( ''==='' )により評価される \\ \\ ===== while / do-while文 ===== === 前置判定 === while (条件式) { ・・・ } === 後置判定 === do { ・・・ } while (条件式) ※ 条件式が真の間ループする \\ \\ ===== for文 ===== for (初期化式; 条件式; 繰り返し式) { ・・・ } === 無限ループ === for (;;) { ・・・ } === カンマ演算子の使用 === for (i=0 len=str.length; i \\ ===== for-in文 ===== for (仮変数 in オブジェクト又は連想配列) { // 仮変数とはプロパティ(キー) ・・・ } ※ 添字配列も可能だが添字以外のキーも列挙してしまうので推奨せず \\ ※ prototypeチェーンに沿って全てを列挙する \\ ※ 自オブジェクトのみ列挙する場合、''hasOwnProperty()'' を使用する \\ \\ ===== for-of文 ===== [[js:top#ECMAScript|*2015]] for (仮変数 of 添字配列) { … } 添字配列はオブジェクトでも可能 ⇒ 列挙可能型(enumerable)(イテレーター、ジェネレーター) \\ \\ ===== break / continue文 ===== * break ・・・ ループ、switchからの脱出 ※ラベル付き可能 * continue ・・・ ループの周回をスキップ \\ ===== try-catch-finally文 ===== try { ・・・ } catch (e) { ・・・ // 例外処理 } finally { ・・・ // 終了処理 } \\ ===== throw文 ===== throw new Error('メッセージ'); // エラーオブジェクト及びその継承オブジェクト