CodeIQ MAGAZINECodeIQ MAGAZINE

【選択式問題】JavaScript検定RPG 条件分岐編──問題解説 #javascript

2015.10.27 Category:CodeIQ問題解説・リーダーボード Tag: ,

  • 7
  • このエントリーをはてなブックマークに追加
eye_catch

JavaScript の知識を駆使して敵を倒す『JavaScript検定RPG』。

今回の『条件分岐編』は全て解けましたか?
というわけで、解答と解説をどうぞ!
by クロノス・クラウン合同会社 柳井政和

今回の問題

今回の『JavaScript検定RPG』は『条件分岐編』ということで、JavaScript の条件分岐についての問題が出題されました。

それでは以下、各問題とその解答を見ていきましょう。

問題1

ifのあとに書き、条件に一致しない場合の処理を行う構文は何?

elf
dwarf
human
else

問題1は、注意力散漫でなければ解ける問題です。if else 文のことを尋ねている問題ですので、else を選べば正解になります。間違っても elf ではありません。

そのため答えは、4番目の「else」になります。

// 参考コード
var b = false;
if (b) {
    console.log("trueの場合");
} else {
    console.log("falseの場合");
}
// 「falseの場合」と出力

参考1:if…else – JavaScript | MDN

参考2:制御フローとエラー処理 – JavaScript | MDN

問題2

if文で使わない括弧はどれ?

() Round brackets
[] Square brackets
{} Curly brackets

if 文では「if (…) {…}」のように書き、「( )」と「{ }」を使用します。しかし、「[ ]」は使いません。

そのため答えは、2番目の「[] Square brackets」になります。

// 参考コード
var b = true;
if (b) {
    console.log("trueの場合");
}
// 「trueの場合」と出力

参考1:if…else – JavaScript | MDN

参考2:制御フローとエラー処理 – JavaScript | MDN

問題3

if (a) {b = 0} else {b = 1} と同じ結果になる条件演算子を使った式は?

b = if a 0 else 1;
b = a ? 0 : 1;
b = a {0, 1};
b = a & 0 | 1;

問題3は、JavaScriptの条件演算子の知識を問う問題です。条件演算子は「a ? b : c」の構文になります。そして、a が真の場合に b を、偽の場合に c の値を戻します。

そのため答えは、2番目の「b = a ? 0 : 1;」になります。

// 参考コード
var a = true, b;
if (a) {b = 0} else {b = 1}
console.log(b);  // 「0」と出力

var a = true, b;
b = a ? 0 : 1;
console.log(b);  // 「0」と出力

参考:条件演算子 – JavaScript リダイレクト 1 | MDN

問題4

if文の波括弧内が複数行ある場合、波括弧を使わずに1行で書く方法は?

if (a == 0) fnc1(); fnc2();
if (a == 0) (fnc1(); fnc2())
if (a == 0) fnc1(), fnc2();
if (a == 0) [fnc1(); fnc2()]

結論から言うと、「,(カンマ)」区切りで、処理を連続して書くことができます。

そのため答えは、3番目の「if (a == 0) fnc1(), fnc2();」になります。

// 参考コード
var a = 0;
if (false) a++, a++;
console.log(a);  // 「0」と出力

var a = 0;
if (true) a++, a++;
console.log(a);  // 「2」と出力

参考:カンマ演算子 – JavaScript | MDN

CodeIQ運営事務局より

柳井さん、ありがとうございました!
現在、柳井さんの最新問題が出題中です。
ぜひ挑戦してみてくださいね!

  • 7
  • このエントリーをはてなブックマークに追加

■この記事を書いた人

avatar

クロノス・クラウン合同会社 柳井政和

クロノス・クラウン合同会社 代表。ゲームやアプリを作ったり、プログラムを 書いたり、文章を書いたり、絵を描いたり。『マンガでわかるJavaScript』、 CodeIQの問題を解説付きでまとめた『プログラマのためのコードパズル~ JavaScriptで挑むコードゴルフとアルゴリズム』執筆。 twitter: @ruten Web Site: http://crocro.com/

■関連記事

【コードミステリ】数字に隠されたメッセージ【言語不問】解答と解説... 【コードミステリ】数字に隠されたメッセージ【言語不問】 本問題は、表題のテーマで、簡単なプログラムを書くものです。 喜屋武ちあきさんによるCodeIQ MAGAZINEでのブックレビューに合わせて、『顔貌売人』(文藝春秋)とのコラボ問題として出題されたものです。 それでは以下、問題とその解...
数学の問題をプログラミングで解こう!「ディバイド・アウト」問題解説... 問題のおさらい 自然数 n と素数 p に対し、n の階乗(n!)を p でこれ以上割り切れなくなるまで繰り返し割り、その商をさらに p で割ったときの余りを F(n, p) と定義します。 例えば F(12, 5)=4 です。 12!(=479001600)は 5 で最大 2 回割ることができ...
【息抜き】ファイル名を作ろう【言語不問】解答と解説... 【息抜き】ファイル名を作ろう【言語不問】 本問題は、表題のテーマで、簡単なプログラムを書くものです。 それでは以下、問題とその解答を見ていきましょう。 問題 ファイルをディレクトリ内に作成する際、同じ名前のファイルがあると、末尾に数字を付けるなどして同じ名前にならないようにします。 こうし...
【夏のミステリー】殺人現場のコード 解答と解説... 【夏のミステリー】殺人現場のコード 本問題は、表題のテーマで、簡単なプログラムを書くものです。 それでは以下、問題とその解答を見ていきましょう。 問題 殺人現場にプログラマが倒れていて、途中までプログラムが書かれている。 「続きを書いて欲しい」 これはダイイングメッセージなのか? どう...
数学の問題をプログラミングで解こう!「キャンディ・アンド・チョコレート」問題解説... 問題のおさらい n 個のキャンディをグループに分けます。 グループの最大のキャンディの個数が k 個となるような分け方の数を F(n, k) と定義します。 例えば、F(8, 3)=5 です。このときの分け方を以下に示します。 なお個々のキャンディを区別せずに扱う点に注意してください。 同...
【夏のミステリー】時間制限の密室 解答と解説... 【夏のミステリー】時間制限の密室 本問題は、表題のテーマで、簡単なプログラムを書くものです。 それでは以下、問題とその解答を見ていきましょう。 問題 (なんやかんやあって)命からがら逃げてきた、あなた。 しかし逃げ込んだ部屋にあなたが入った途端、自動でドアはロックされ、しかも10分後にはガ...

今週のPickUPレポート

新着記事

週間ランキング

CodeIQとは

CodeIQ(コードアイキュー)とは、自分の実力を知りたいITエンジニア向けの、実務スキル評価サービスです。

CodeIQご利用にあたって
関連サイト
codeiq

リクルートグループサイトへ