足し算を修正する
重要性: 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
最新のコードでは、単項と二項の + 両方を使用しています。面白いですね。