[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)