Переменные JavaScript

Переменная - это литерал, присвоенный идентификатору, поэтому вы можете ссылаться на него и использовать его позже в программе. Узнайте, как объявить его с помощью JavaScript

Введение в переменные JavaScript

Переменная - это литерал, присвоенный идентификатору, поэтому вы можете ссылаться на него и использовать его позже в программе.

Переменные вJavaScriptне имеют прикрепленного типа. После того, как вы присвоите переменной конкретный тип литерала, вы сможете позже переназначить переменную для размещения любого другого типа без ошибок типа или каких-либо проблем.

Вот почему JavaScript иногда называют «нетипизированным».

Переменная должна быть объявлена, прежде чем вы сможете ее использовать. Есть 3 способа сделать это, используяvar,letили жеconst, и эти 3 способа отличаются тем, как вы можете впоследствии взаимодействовать с переменной.

С помощьюvar

До ES2015,varбыла единственной доступной конструкцией для определения переменных.

var a = 0

Если вы забыли добавитьvarвы будете присваивать значение необъявленной переменной, и результаты могут отличаться.

В современных средах при включенном строгом режиме вы получите сообщение об ошибке. В более старых средах (или с отключенным строгим режимом) это инициализирует переменную и присваивает ее глобальному объекту.

Если вы не инициализируете переменную при ее объявлении, она будет иметьundefinedзначение, пока вы не присвоите ему значение.

var a //typeof a === 'undefined'

Вы можете повторно объявить переменную много раз, переопределив ее:

var a = 1
var a = 2

Вы также можете объявить сразу несколько переменных в одном операторе:

var a = 1, b = 2

Вобъем- это часть кода, в которой отображается переменная.

Переменная, инициализированная с помощьюvarвне какой-либо функции назначается глобальному объекту, имеет глобальную область видимости и виден везде. Переменная, инициализированная с помощьюvarвнутри функции назначается этой функции, она локальна и видна только внутри нее, как параметр функции.

Любая переменная, определенная в функции с тем же именем, что и глобальная переменная, имеет приоритет над глобальной переменной, затеняя ее.

Важно понимать, что блок (обозначенный парой фигурных скобок) не определяет новую область видимости. Новая область видимости создается только при создании функции, потому чтоvarне имеет области видимости блока, но имеет область видимости функции.

Внутри функции любая переменная, определенная в ней, видна во всем коде функции, даже если переменная объявлена в конце функции, на нее все равно можно ссылаться в начале, потому что JavaScript перед выполнением кода на самом делеперемещает все переменные наверх(то, что называетсяподъем). Чтобы избежать путаницы, всегда объявляйте переменные в начале функции.

С помощьюlet

let- это новая функция, представленная в ES2015, и по сути это блочная версияvar. Его область действия ограничена блоком, оператором или выражением, в котором он определен, и всеми содержащимися внутренними блоками.

Современные разработчики JavaScript могут использовать толькоletи полностью отказаться от использованияvar.

Еслиletкажется непонятным термином, просто прочтитеlet color = 'red'в качествепусть цвет будет красными все это имеет гораздо больший смысл

Определениеletвне какой-либо функции - вопрекиvar- не создает глобальную переменную.

С помощьюvarна верхнем уровне определяет глобальную переменную, которая (в браузере) добавляется кwindowобъект. Аletconst) вне блока по-прежнему создает переменную, доступную в коде приложения, но не назначенную дляwindow.

С помощьюconst

Переменные, объявленные с помощьюvarили жеletмогут быть изменены позже в программе и переназначены. Когдаconstинициализирован, его значение больше никогда не может быть изменено, и его нельзя переназначить на другое значение.

const a = 'test'

Мы не можем присвоить другой литералaconst. Однако мы можем мутироватьaесли это объект, который предоставляет методы, изменяющие его содержимое.

constне обеспечивает неизменяемость, просто гарантирует, что ссылка не может быть изменена.

constимеет область видимости блока, как иlet.

Современные разработчики JavaScript могут всегда использоватьconstдля переменных, которые не нужно переназначать позже в программе.

Почему? Потому что мы всегда должны использовать самую простую конструкцию, чтобы избежать ошибок в будущем.

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: