JavaScript | レベル別練習問題:定数/変数と演算

JavaScript
スポンサーリンク

定数/変数と演算」をテーマに、基礎/中級/上級(応用)の3レベルで、各レベル5問ずつ、合計15問のオリジナル練習問題と解答・解説を作成しました。

基礎レベル(5問)

問題1

次のコードで、コンソールに出力される値は何ですか?

const a = 10;
let b = 5;
console.log(a + b);
JavaScript

解答と解説

  • 解答:15
  • 解説:a は定数、b は変数です。+ 演算子は数値の足し算を行うので、10 + 5 = 15。

問題2

次のコードでエラーが発生するのはどの行ですか?

const x = 7;
x = 10;
JavaScript

解答と解説

  • 解答:2行目
  • 解説:const で宣言した変数は再代入できません。x = 10; はエラーになります。

問題3

次のコードで出力される値を答えなさい。

let num = 8;
num = num * 2;
console.log(num);
JavaScript

解答と解説

  • 解答:16
  • 解説:num に 8 を代入し、num * 2 を再代入しているので、8 × 2 = 16 になります。

問題4

次のコードの出力は?

let a = 3;
let b = 4;
console.log(a ** b);
JavaScript

解答と解説

  • 解答:81
  • 解説:** はべき乗演算子です。3 の 4 乗 = 3 × 3 × 3 × 3 = 81。

問題5

次のコードで、console.log(result); の出力は?

let result = 10 % 3;
console.log(result);
JavaScript

解答と解説

  • 解答:1
  • 解説:% は剰余(余り)を求める演算子です。10 ÷ 3 の余りは 1 です。

中級レベル(5問)

問題1

次のコードの出力は?

let x = 5;
let y = 2;
console.log(x / y);
JavaScript

解答と解説

  • 解答:2.5
  • 解説:/ は割り算です。5 ÷ 2 = 2.5。

問題2

次のコードを完成させて、total が 30 になるようにしてください。

let a = 10;
let b = 5;
let total = /* ここに式を書く */;
console.log(total);
JavaScript

解答例と解説

let total = a * b; // 10 × 5 = 50 は間違い
JavaScript

あ、待って! total が 30 になるには?

  • 10 + 5 × 4 = 30 などの式にできます。正しい例:
let total = a + b * 4; // 10 + 5*4 = 30
JavaScript
  • 解説:演算子の優先順位に注意。* が先に計算され、次に + が計算されます。

問題3

次のコードの出力は?

let x = 7;
x += 3;
console.log(x);
JavaScript

解答と解説

  • 解答:10
  • 解説:+= は「右辺を加算して代入」の意味。x = 7 + 3 = 10。

問題4

次のコードの出力は?

let a = 2;
let b = 3;
let c = 4;
console.log(a + b * c);
JavaScript

解答と解説

  • 解答:14
  • 解説:演算子の優先順位で、* が先に計算されるので、3*4=12、次に a + 12 = 2 + 12 = 14。

問題5

次のコードで console.log(result); の出力は?

let a = 10;
let b = 3;
let result = Math.floor(a / b);
console.log(result);
JavaScript

解答と解説

  • 解答:3
  • 解説:Math.floor() は小数点以下を切り捨てます。10 ÷ 3 = 3.333… → 3。

上級/応用レベル(5問)

問題1

次のコードを完成させて、sum が 1〜100 までの合計になるようにしてください。

let sum = 0;
for (let i = 1; i <= 100; i++) {
    // ここにコード
}
console.log(sum);
JavaScript

解答例と解説

sum += i;
  • 解説:sum += i; は sum = sum + i と同じ意味で、1から100まで順に足していきます。

問題2

次のコードで average が正しく計算されるように修正してください。

let scores = [80, 90, 70, 60];
let sum = 0;
for (let i = 0; i < scores.length; i++) {
    sum = scores[i]; // 修正必要
}
let average = sum / scores.length;
console.log(average);
JavaScript

解答例と解説

sum += scores[i];
JavaScript
  • 解説:sum = scores[i]; では最後の値だけになってしまうので、累積して加算する必要があります。

問題3

次のコードの出力は?

let a = 5;
let b = "5";
console.log(a + b);
console.log(a * b);
JavaScript

解答と解説

  • 解答:
"55"
25
  • 解説:
    • + は文字列結合の優先があるため、数値と文字列の結合は文字列になります。
    • * は数値として計算されるため、5 * 5 = 25。

問題4

次のコードで、変数 result が偶数か奇数かを判定してください。

let num = 17;
let result;
// 条件式をここに書く
console.log(result); // "偶数" または "奇数"
JavaScript

解答例と解説

result = (num % 2 === 0) ? "偶数" : "奇数";
JavaScript
  • 解説:% 演算子で余りをチェックし、0 なら偶数、それ以外は奇数。

問題5

次のコードを完成させて、1〜10の合計のうち偶数だけを足すようにしてください。

let sum = 0;
for (let i = 1; i <= 10; i++) {
    if (/* 条件式 */) {
        sum += i;
    }
}
console.log(sum);
JavaScript

解答例と解説

if (i % 2 === 0) {
    sum += i;
}
JavaScript
  • 解説:i % 2 === 0 で偶数判定、偶数のみ合計に加算しています。1+2+…+10 の偶数は 2+4+6+8+10 = 30。

タイトルとURLをコピーしました