Im пытаясь понять, почему сравнивая стандартные функции всегда возвращает логическое false
Javascript: Сравнение стандартных функций всегда возвращает * ложь *
подобно для функции IsNaN
>isNaN === true
false
>isNaN === false
false
Но
>Boolean(isNaN)
true
Теперь, чтобы сделать вещи немного интереснее
>!isNaN === false
true
>!isNaN === true
false
Это происходит со стандартной функцией, например Number, Object и т. Д.
Кто-нибудь знает, что происходит под капотом в JavaScript?
'===' - это оператор строгого равенства, _Strict равенство сравнивает два значения для равенства. Перед сопоставлением ни одно значение не преобразуется в какое-либо другое значение. Если значения имеют разные типы, значения считаются неравными._ см. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness – Satpal
'===' возвращает true только тогда, когда его операнды являются такой же тип. ''5'! == 5',' 0! == false'. ('isNaN == true' тоже не является истинным, но нет причин ожидать, что он будет вести себя так же, как приведение в boolean. В' 2 == true' вы бы наложили 'true' на число или '2' в boolean?) – Ryan