Накратко
Number.isNaN() проверява дали стойността действително е числовото NaN. Обикновен текст не се преобразува автоматично в число.
Полезно е да знаеш
Number.isNaN() връща true само когато подадената стойност е числото NaN. За стойности, които не са от числов тип, връща false. Това го отличава от глобалната функция isNaN(), която може първо да преобразува входа. [1]
Например Number.isNaN(Number('ябълка')) е true, защото преобразуването до число е неуспешно. Но Number.isNaN('ябълка') е false: аргументът е текст, не числото NaN. Двете проверки отговарят на различни въпроси.
При обработка на поле от формуляр отдели стъпките: получи текста, провери дали е празен, преобразувай го по избрано правило и провери резултата. Не приемай, че Number.isNaN() сама проверява дали всеки вход е допустима цена или количество.
Има и други неприемливи числови стойности според задачата: отрицателно количество, твърде голямо число или безкрайност. Те не са непременно NaN. Валидацията на бизнес правилото трябва да посочва допустимия диапазон отделно.
Източници
За повече подробности и проверка на информацията: