【Javascript】 条件分岐2 (if else文) 理解度チェック

問1 else

x == 10のときはxは10と等しい、それ以外の場合はelseを用いて分岐し、xは10ではないと出力してください。

elseifのブロックが終わった直後に書きます。

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++;
if else thumb

役に立ったらシェアしよう!