====== 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('メッセージ'); // エラーオブジェクト及びその継承オブジェクト