"3" + 5 の型変換

📝 問題の再掲

Q6: "3" + 5 の結果はどれ?

選択肢: 8 / "35"(正答) / エラー / NaN

⚠️ よくある間違い

「3 + 5 = 8 でしょ?」と思いがちですが、"3" は文字列です。+ 演算子は片方が文字列だと文字列連結になります。

📖 段階的な説明

ステップ1:+ 演算子の2つの意味

  • 数値 + 数値 → 足し算(3 + 5 = 8)
  • 文字列 + 何か → 文字列連結("3" + 5 = "35")

ステップ2:他の演算子は違う

- * / は数値演算しかないので、文字列を自動で数値に変換します。

"3" + 5  → "35"(文字列連結)
"3" - 1  → 2(数値演算)
"3" * 2  → 6(数値演算)
"3" / 1  → 3(数値演算)

ステップ3:明示的に変換する方法

文字列を数値にしたいときは Number() を使います。

💻 コード例

// 暗黙的型変換の例
console.log("3" + 5);   // "35"(文字列連結)
console.log("3" - 1);   // 2(数値演算)
console.log("abc" - 1); // NaN(数値に変換できない)

// 明示的に変換
const input = "42";
console.log(Number(input) + 8); // 50(正しく足し算)

// prompt() の戻り値は常に文字列!
const age = prompt("年齢は?"); // "15"(文字列)
console.log(age + 1);           // "151"(文字列連結!)
console.log(Number(age) + 1);   // 16(正しい)

🔗 関連知識

  • prompt() の戻り値は常に文字列なので、計算に使うときは必ず Number() で変換しましょう
  • parseInt() は整数に、parseFloat() は小数に変換します

✅ 確認問題

Q: "10" - "3" + "2" の結果は?

答えを見る

"72"。まず "10" - "3" = 7(数値演算)、次に 7 + "2" = "72"(文字列連結)。左から順に評価されます。

← ドリルに戻る