为什么 javascript 说我的变量不是 NaN,而它是?

why does javascript say that my variable isn't NaN, when it is?

所以我制作了一个程序,可以根据您输入的年龄来检查您是否达到可以开车的年龄。这是代码:

const userAge = Number(prompt(`What is your age?`));

if (typeof userAge === NaN) {
    console.log('Error - please reload the page and type your age. ¯\_(ツ)_/¯');
} else {
    if (userAge >= 18) {
    console.log('You can start driving! ');
    } else {
        console.log(`Sorry - you'll have to wait a bit until you can drive. `)
    }
}

我试图处理有人输入一串字母而不是数字的可能性,在这种情况下,userAge 的值将是 NaN,当一些奇怪的事情出现时。 当我检查 userAge 的值是否为 NaN 时,它会 return false 即使它 NaN。 我梳理了代码,看看我是否犯了一个简单的错误,但我什么也没找到。非常感谢您的帮助。

你应该知道typeof NaN === 'number'。 所以如果你想检查一个变量是否是 NaN,使用 isNaN(variable) function.