Почему сравнение значения с неопределенным возвращает false в JavaScript? - PullRequest
0 голосов
/ 20 ноября 2018

Я новичок в Javascript и заметил, что переменная undefined, сравнивая число, возвращает false, как показано ниже. Почему сравнение undefined с числами возвращает false?

var a = undefined;
console.log(a < 10);
console.log(10 < a);
console.log(a == 10);

1 Ответ

0 голосов
/ 20 ноября 2018

Вот как работает JavaScript.

Number(undefined) // NaN
NaN == NaN // false
NaN < 0 // false
NaN > 0 // false

Итак, при сравнении вы заставляете проверять, как:

Number(undefined) < 10
// undefined is coerced to check with number

И, таким образом,

undefined == 10 // false
undefined > 10 // false
undefined < 10 // false
...