Резюме: в этом учебнике вы узнаете о переменных JavaScript и о том, как использовать переменные для хранения значений в приложении.
Переменная — это метка, которая ссылается на значение, например, число или строку. Прежде чем использовать переменную, ее необходимо объявить.
Объявление переменной
Чтобы объявить переменную, вы используете ключевое слово var
, за которым следует имя переменной, как показано ниже:
Code language: JavaScript (javascript)var message;
Имя переменной может быть любым допустимым идентификатором. По умолчанию переменная message
имеет специальное значение undefined
, если вы не присвоили ей значение.
Имена переменных подчиняются следующим правилам:
- Имена переменных чувствительны к регистру. Это означает, что
message
иMessage
— это разные переменные. - Имена переменных могут содержать только буквы, цифры, знаки подчеркивания или доллара и не могут содержать пробелов. Кроме того, имена переменных должны начинаться с буквы, знака подчеркивания (
_
) или знака доллара ($)
. - В именах переменных не могут использоваться зарезервированные слова.
По соглашению, в именах переменных используется регистр символов, например message
, yourAge
и myName
.
JavaScript является динамически типизированным языком. Это означает, что вам не нужно указывать тип переменной в объявлении, как в статически типизированных языках, таких как Java или C#.
Начиная с ES6, вы можете использовать ключевое слово let
для объявления переменной подобным образом:
Code language: JavaScript (javascript)let message;
Хорошей практикой является использование ключевого слова let
для объявления переменной. Позже вы узнаете о различиях между ключевыми словами var
и let
. Пока же вам не стоит об этом беспокоиться.
Инициализация переменной
После того как вы объявили переменную, вы можете инициализировать ее значением. Чтобы инициализировать переменную, укажите имя переменной, затем знак равенства (=
) и значение.
Например, ниже объявляется переменная message
и инициализируется буквальной строкой "Hello"
:
Code language: JavaScript (javascript)let message; message = "Hello";
Для одновременного объявления и инициализации переменной используется следующий синтаксис:
Code language: JavaScript (javascript)let variableName = value;
Например, следующий оператор объявляет переменную message
и инициализирует ее буквенной строкой "Hello"
:
Code language: JavaScript (javascript)let message = "Hello";
JavaScript позволяет объявлять две или более переменных с помощью одного оператора. Для разделения двух объявлений переменных используется запятая (,
), как показано ниже:
Code language: JavaScript (javascript)let message = "Hello", counter = 100;
Поскольку JavaScript является динамически типизированным языком, вы можете присвоить переменной значение другого типа. Хотя это не рекомендуется. Например:
Code language: JavaScript (javascript)let message = 'Hello'; message = 100;
Изменить переменную
После инициализации переменной вы можете изменить ее значение, присвоив другое значение. Например:
Code language: JavaScript (javascript)let message = "Hello"; message = 'Bye';
Неопределенные и необъявленные переменные
Важно различать неопределенные и необъявленные переменные.
Неопределенная переменная — это переменная, которая была объявлена, но не инициализирована значением. Например:
Code language: JavaScript (javascript)let message; console.log(message); // undefined
В этом примере переменная message
объявлена, но не инициализирована. Поэтому переменная message
является неопределенной.
Напротив, необъявленная переменная — это переменная, которая не была объявлена. Например:
Code language: JavaScript (javascript)console.log(counter);
Output:
Code language: JavaScript (javascript)console.log(counter); ^ ReferenceError: counter is not defined
В этом примере переменная counter
не была объявлена. Следовательно, обращение к ней вызывает ошибку ReferenceError
.
Константы
Константа хранит значение, которое не изменяется. Чтобы объявить константу, вы используете ключевое слово const. При определении константы необходимо инициализировать ее значением. Например:
Code language: JavaScript (javascript)const workday = 5;
Определив константу, вы не можете изменить ее значение.
В следующем примере попытка изменить значение константы workday на 4 приводит к ошибке:
workday = 2;
Error:
Code language: JavaScript (javascript)Uncaught TypeError: Assignment to constant variable.
Позже в учебнике по константам вы узнаете, что ключевое слово const
фактически определяет ссылку на значение только для чтения.
Резюме
- Переменная — это метка, которая ссылается на значение.
- Для объявления переменной используйте ключевое слово
let
. - Неопределенная переменная — это переменная, которая была объявлена, но не инициализирована, а необъявленная переменная — это переменная, которая не была объявлена.
- Используйте ключевое слово
const
для определения ссылки на значение, доступное только для чтения.