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