足し算を修正する
重要性: 5
ユーザに2つの数字を訪ね、その合計を表示するコードがあります。
これは正しく機能していません。以下の例の出力は 12
です(デフォルトのプロンプトの値の場合)。
なぜでしょうか?修正してください。結果は 3
になるべきです。
let a = prompt("First number?", 1);
let b = prompt("Second number?", 2);
alert(a + b); // 12
理由はプロンプトがユーザ入力を文字列として返すからです。
なので、変数はそれぞれ値 "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
最新のコードでは、単項と二項の +
両方を使用しています。面白いですね。