Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   зачем NaN в JS (https://javascript.ru/forum/misc/72243-zachem-nan-v-js.html)

marc 17.01.2018 23:11

зачем NaN в JS
 
Здравствуйте, объясните пожалуйста, для чего в JS нужен NaN?

Aetae 17.01.2018 23:57

Чтоб делать так, например:
function func(number){
  number *= 2;
  if( number > 1 ){
    return 1
  }else if( number < 1 ){
    return -1
  }else if( number == 1 ){
    return 0
  }
  return 'wtf?'
}
alert(
  func('not a number')
);

Любое сравнение с NaN вернёт false, даже с самим собой. Это позволяет делать много штук, если умеючи.
Однако основной смысл введения NaN в самой парадигме js - минимизация вреда от ошибочных данных, т.е. программа должна хоть как-то работать, независимо от того, что там наговнокодил очередной индус. Это не делает языку чести, зато сильно понижает порог вхождения, что от него и требовалось изначально.)


Часовой пояс GMT +3, время: 16:32.