【Javascript】 条件分岐2 (if else文) 理解度チェック
この内容のテキストはこちら
問1 else
x == 10
のときはxは10と等しい
、それ以外の場合はelse
を用いて分岐し、xは10ではない
と出力してください。
else
はif
のブロックが終わった直後に書きます。
if (x == 10) { console.log("xは10と等しい"); } else { console.log("xは10ではない") }
問2 else if
x == 10
のときはxは10と等しい
、x == 0
のときはelse if
を用いてxは0と等しい
、それ以外の場合はelse
を用いてxは10でも0でもない
と出力してください。
else if
は、if (x) {...} else if (y) {...} else {...}
のように、つなげて書きます。
if (x == 10) { console.log("xは10と等しい"); } else if (x == 0) { // !xなどでもよい console.log("xは0と等しい"); } else { console.log(xは10でも0でもない); }
問3 ifのネスト
x > 10
を満たし、その処理内でx == 11
ならxは11
、それ以外ならxは10より大きい
と出力してください。
if文の処理にはほぼ全ての処理を入れることができるので、
if (...) { if (...) { } }
のようにifを重ねることができます。今回の問題ではx > 10
を満たした場合の処理として書くので、
if (x > 10) { if (x == 11) { console.log("xは11"); } else { console.log("xは10より大きい"); } }
となります。
問4 波括弧の省略
x == 10
のときはxは10と等しい
という処理を、if文で波括弧を使わずに書いてください。
if文では、ブロックの中身がプログラム的に1行の場合、波括弧を書く必要がありません。
if (x == 10) console.log("xは10と等しい");
もちろん、改行しても良いです。
if (x == 10) console.log("xは10と等しい");
if文やfor文を波括弧を使わずに書けるものはどんなものかを言葉で表すのは、案外難しいです。
例えば、次のようなものが”1行”です。
// いずれも1行 if (1) x++; if (1) console.log("hoge"); if (1) hoge(fuga(hige())); // elseの中に、if(x)全体が"1行"として存在しているというイメージ if (1) { // ... } else if (x) { // ... } // これは1行ではない。x++;という1つと、y++;という1つに分かれているため。 if (1) x++; y++;
