レッスンに戻る

加法の修正

importance: 5

ユーザーに2つの数値を求め、それらの合計を表示するコードを以下に示します。

正しく動作しません。以下の例での出力は12です(既定のプロンプトの値の場合)。

なぜですか?修正してください。結果は3であるはずです。

let a = prompt("First number?", 1);
let b = prompt("Second number?", 2);

alert(a + b); // 12

その理由は、promptがユーザー入力を文字列として返すためです。

したがって、変数はそれぞれ"1""2"の値を持ちます。

let a = "1"; // prompt("First number?", 1);
let b = "2"; // prompt("Second number?", 2);

alert(a + b); // 12

+の前に文字列を数値に変換する必要があります。たとえば、Number()を使用するか、+を前に付けるなどです。

たとえば、promptの直前

let a = +prompt("First number?", 1);
let b = +prompt("Second number?", 2);

alert(a + b); // 3

またはalert

let a = prompt("First number?", 1);
let b = prompt("Second number?", 2);

alert(+a + +b); // 3

最新のコードで単項と二項の両方の+を使用します。おかしな感じがしませんか?