05 ControlSyntax - iruma-tea/dokushujs GitHub Wiki
条件分岐は、何らかの条件をもとに実行する処理の流れを分岐する。
[構文] if文の記法
if (条件式) {
if ブロック ------ 条件式が真(truthy)の場合に実行されるブロック
}
[構文] if...else文の記法
if (条件式) {
if ブロック ------ 条件式が真(truthy)の場合に実行されるブロック
} else {
else ブロック ----- 条件式が偽(falsy)の場合に実行されるブロック
}
[構文] if...else文のチェーンの記法
if (条件式A) {
if ブロック ------ 条件式Aが真(truthy)の場合に実行されるブロック
} else if (条件式B) {
else if ブロック ----- 条件式Aがfalsyかつ、条件式Bが真(truthy)の場合に実行されるブロック
} else {
else ブロック ----- 条件式が偽(falsy)の場合に実行されるブロック
}
switch文では、条件式に渡した値がcase節と一致した場合に、それ以降のコードを実行します。
条件式の値がcase節のどれも一致しない場合には、default節に続くコードが実行される。
[構文] switch文の記法
switch(条件式) {
case 値1: ------ case1(条件式 === 値1)
[break];
case 値2: ------ case2(条件式 === 値2)
[break];
default:
条件式の値が値1、値2に一致しない場合に実行されるコード
}
プログラムの実行には、エラーがつきものです。プログラムにおけるエラーは例外(Exeception)とも呼び、
例外が発生したときに実行する処理は例外処理と呼びます。
[構文] 基本的なtry/catch/finally 構文の記法
try {
例外が発生する可能性のある処理
} catch (例外識別子) {
例外が発生した時の処理
} finally {
例外の発生にかかわらず、必ず実行される処理
}
意図的に例外を発生させたい場合には、throwというキーワードを使用する。
throwは日本語で「投げる」という意味なので、プログラムで例外を発生させることを「例外を投げる」とも言います。
[構文] throwの記法
try {
throw 例外識別子;
} catch (例外識別子) {
例外発生時の処理
}
while文は、条件がtruthyのときに処理を繰り返し、falsyが取得されたときに処理を抜けます。
[構文] while文の記法
while(条件式) {
while ブロック ---- 条件式がtruthyの場合に繰り返し処理されるコードを記述
}
for文を使って繰り返し(ループ)処理を記述する場合は、「初期化処理」、「ループ継続のための条件式」、「ループごとの最後に実行される式」
をセミコロンで区切る。
[構文] for文の記法
for (①初期化処理; ②ループ継続の処理; ③ループごとの最後に実行される式) {
②の式がtruthyの場合に繰り返し処理されるコードを記述
}
for ... in 文は、オブジェクトの要素に対して繰り返し処理を行うときに使う。
[構文]for...in文の記法
for (const key in obj) {
オブジェクトの各プロパティに対する繰り返し処理
}
key: オブジェクトのプロティが1つずつ渡されます。
obj: オブジェクトや配列を設定できる。
for...of文では、反復可能オブジェクトに対して、繰り返し処理を記述できる。
[構文] for ... of 文の記法
for (const value of iterable) {
反復可能なオブジェクトの各要素に対する繰り返し処理
}
value: 反復可能オブジェクトの種類によって、渡される値が変わる。配列やSetの場合は値が渡される。
Mapの場合はプロパティと値が対になった配列が[プロパティ, 値]という形式で渡される。