Полезный NaN
Комментарии 6
-
+2
Вы забыли упомянуть одну важную деталь: Не нужно использовать это в реальных проектах :)Такое «магическое» поведение может зависеть от браузера, может поменяться внезапно в каком-то браузере или еще чего.
-
+1
да нет здесь никакой магии, конструктор принимает число, а
NaN
— число
приведение типов также работает предсказуемо и ожиданно
в исходниках momentjs используют подобную конструкциюстатья лишь напоминает, переходящим с php и других языков, с чуть другой логикой, что в javascript есть особые числа —
Infinity
,NaN
и методы для работы с числамиisFinite()
,isNaN()
-
22 августа 2017 в 13:13
–2
Вообще-то, никакое это не «магическое» поведение, это стандарт, причём старше чем сам Javascript. Браузеры ему строго следуют, и никогда не перестанут, так как иначе сломается обратная совместимость.Может быть, это неожиданное поведение лично для вас в силу невежества, но настоящий разработчик отличается от кодера тем, что исследует предметную область.
-
-
0
Все же я так и не понял полезность данной конструкции в реальной жизни и чем полезен NaN-
+1
Например, проверить или распарсенная строка действительно была датой.
let date = new Date('foo'); let isInvalidDate= isNaN(date); console.log(isInvalidDate ? "Yes, it was invalid" : "Ooops, was OK");
-
-
0
Результат чтения — NaN
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.