このスニペットがあるとしましょう。
var age = prompt('what is your age?');
if (age === 30)
{
alert('your age is 30');
}
プロンプトに 30 を入力すると、if ステートメントがトリガーされません。浮動小数点の丸め誤差に関係していると思われますが、よくわかりません。これについてあなたの考えを聞くのは素晴らしいことです。
このスニペットがあるとしましょう。
var age = prompt('what is your age?');
if (age === 30)
{
alert('your age is 30');
}
プロンプトに 30 を入力すると、if ステートメントがトリガーされません。浮動小数点の丸め誤差に関係していると思われますが、よくわかりません。これについてあなたの考えを聞くのは素晴らしいことです。
window.prompt()
文字列を返します。文字列は数値と同じではありません。次のいずれかを使用します。
if (age === '30')
if (+age === 30) // Explicit type conversion
if (age == 30) // Implicit type conversion
明示的な変換に関する注意事項については、この回答を参照してください。たとえば、 の入力00030
も有効な場合があります。