Основы
Типы
8 типов:
string
number
BigInt
boolean
Symbol
object
null
undefined
Типы данных JavaScript и структуры данных (MDN)
var/const/let
Отличия:
Область видимости:
var
доступен во всем контексте. До объявление его значение равно либоwindow
, либоundefined
(в строгом режиме).let
иconst
доступны только в пределах блока: можно внутри условия, цикла или просто фигурный скобок определить переменную и она будет доступна только в ней. Обращение вне блока к переменным, объявленным с их помощью, приведет к ошибке.
Повторное объявление переменных с существующим идентификатором:
var
не выдаст ошибку, создав переменную с указанным значением (если она тоже была объявлена с помощьюvar
, иначе выдаст ошибку)let
иconst
выдадут ошибку
Сравнение
Оператор ==
==
Перед сравнением оператор равенства приводит обе величины к общему типу.
Приведение типов не происходит для
null
иundefined
Оператор ===
===
TBD
shallow equality и deep equality
TBD
NaN
NaN - специальное значение в JavaScript представляющее “не число” (”Not-a-Number”).
Тип NaN
, как ни странно, number
.
Проверять значение на равенство NaN
нужно не с помощью операторов равенства, а с помощью специальной функции isNaN
или метода Number.isNaN
.
Last updated