[ico20]: https://github.com/garevna/js-course/blob/master/ico/a-level-20.png [ico25]: https://github.com/garevna/js-course/blob/master/ico/a-level-25.png [ico50]: https://github.com/garevna/js-course/blob/master/ico/a-level-30.png [hw-20]: https://github.com/garevna/js-course/blob/master/ico/briefcase-20.png [hw-30]: https://github.com/garevna/js-course/blob/master/ico/briefcase-30.png [hw-40]: https://github.com/garevna/js-course/blob/master/ico/briefcase-40.png [cap-20]: https://github.com/garevna/js-course/blob/master/ico/coffee-20.png [cap-25]: https://github.com/garevna/js-course/blob/master/ico/coffee-20.png [cap-30]: https://github.com/garevna/js-course/blob/master/ico/coffee-20.png [cap-40]: https://github.com/garevna/js-course/blob/master/ico/coffee-20.png [warn-25]: https://github.com/garevna/js-course/blob/master/ico/warning.png [warn-30]: https://github.com/garevna/js-course/blob/master/ico/warning.png [warn-40]: https://github.com/garevna/js-course/blob/master/ico/warning.png [link-20]: https://github.com/garevna/js-course/blob/master/ico/link-20.png [link-25]: https://github.com/garevna/js-course/blob/master/ico/link-25.png [err-20]: https://github.com/garevna/js-course/blob/master/ico/no_entry-20.png [err-25]: https://github.com/garevna/js-course/blob/master/ico/no_entry-25.png [err-30]: https://github.com/garevna/js-course/blob/master/ico/no_entry-30.png [file-20]: https://github.com/garevna/js-course/blob/master/ico/pencil-20.png [file-25]: https://github.com/garevna/js-course/blob/master/ico/pencil-25.png [file-30]: https://github.com/garevna/js-course/blob/master/ico/pencil-30.png [dir-20]: https://github.com/garevna/js-course/blob/master/ico/folder-20.png [dir-25]: https://github.com/garevna/js-course/blob/master/ico/folder-25.png [dir-30]: https://github.com/garevna/js-course/blob/master/ico/folder-30.png [dir-40]: https://github.com/garevna/js-course/blob/master/ico/folder-40.png [bash-20]: https://github.com/garevna/js-course/blob/master/ico/bash-20.png [bash-25]: https://github.com/garevna/js-course/blob/master/ico/bash-25.png [bash-30]: https://github.com/garevna/js-course/blob/master/ico/bash-30.png [bash-40]: https://github.com/garevna/js-course/blob/master/ico/bash-40.png [git-20]: https://github.com/garevna/js-course/blob/master/ico/github-20.png [git-25]: https://github.com/garevna/js-course/blob/master/ico/github-25.png [git-30]: https://github.com/garevna/js-course/blob/master/ico/github-30.png [wink-20]: https://github.com/garevna/js-course/blob/master/ico/wink-20.png [wink-25]: https://github.com/garevna/js-course/blob/master/ico/wink-25.png [wink-30]: https://github.com/garevna/js-course/blob/master/ico/wink-30.png [point-20]: https://github.com/garevna/js-course/blob/master/ico//point_up-20.png [point-25]: https://github.com/garevna/js-course/blob/master/ico/point_up-25.png [point-30]: https://github.com/garevna/js-course/blob/master/ico/point_up-30.png [ok-20]: https://github.com/garevna/js-course/blob/master/ico/ok-20.png [ok-25]: https://github.com/garevna/js-course/blob/master/ico/ok-25.png [ok-30]: https://github.com/garevna/js-course/blob/master/ico/ok-30.png [super-20]: https://github.com/garevna/js-course/blob/master/ico/super-20.png [super-25]: https://github.com/garevna/js-course/blob/master/ico/super-25.png [super-30]: https://github.com/garevna/js-course/blob/master/ico/super-30.png [debagger]: https://github.com/garevna/js-course/blob/master/ico/debag-paused.png "Resume script execution F8 Ctrl+\" [reload]: https://github.com/garevna/js-course/blob/master/ico/reload.png [file-20]: https://github.com/garevna/js-course/blob/master/ico/pencil-20.png [yt-20]: https://github.com/garevna/js-course/blob/master/ico/youtube.png # ![ico25] NaN | null | Infinity ## ![ico20] Значение `NaN` ###### Тип данных `number` Сокращение от **Not a Number** ( результат операции не является числом ) Можно получить в результате приведения типов, например: ```javascript 5 / "a" --> NaN "b" * 3 --> NaN ``` `NaN` является свойством глобального объекта ( `window` ) `NaN` также является свойством встроенного объекта `Number` ![warn-25] `NaN` не равен ничему, даже самому себе ```javascript NaN === NaN // false NaN == NaN // false NaN >= NaN // false NaN <= NaN // false ``` Для определения, является ли значением выражения `NaN`, можно использовать методы `isNaN ()` и `Number.isNaN ()` Их действие не идентично ```javascript isNaN ( "привет" ) // true Number.isNaN ( "привет" ) // false Number.isNaN ( "привет" / 10 ) // true ``` `isNaN ()` возвращает `true`, если после приведения типа аргумента к числу результат будет `NaN` `Number.isNaN ()` возвращает `true`, если аргумент имеет значение `NaN` ( приведения типа не происходит ) _____________________________________________________________ ## ![ico20] Значение `null` ###### Тип данных `object` Специальное значение `null` означает "ничего" ![warn-25] `null` может равняться только `null` или ( при нестрогом сравнении ) `undefined` ```javascript null == null // true null === null // true null == undefined // true null === undefined // false null == 0 // false null == NaN // false null == false // false null == "" // false null == [] // false ``` _____________________________________________________________ ## ![ico20] Значение `Infinity` ###### Тип данных `number` Значение, превышающее максимально возможное число с плавающей запятой Максимально возможное число с плавающей запятой: `1.7976931348623157E+10308` Может быть отрицательным ( `-Infinity` ) `Infinity` может быть результатом деления на ноль отличного от нуля числа ```javascript 1 / 0 // Infinity ``` Однако: ```javascript 0 / Infinity // NaN Infinity / Infinity // NaN Infinity - Infinity // NaN Infinity * Infinity // Infinity Infinity + Infinity // Infinity ``` ______________________________________________________________ [![link-20] w3schools](https://www.w3schools.com/jsref/jsref_infinity.asp)