- Объявить несколько переменных javascript
- Интерактивный пример
- Синтаксис
- Описание
- Поднятие переменных
- Переменные и константы JavaScript
- Переменные в JavaScript
- Объявление переменных в JavaScript
- Правила именования переменных в JavaScript
- Инициализация переменных в JavaScript
- Константы
- «Экзотика» объявления и инициализации переменных в JavaScript
- Итого
Объявить несколько переменных javascript
Оператор var объявляет переменную, инициализируя её, при необходимости.
Интерактивный пример
Синтаксис
var varname1 [= value1 [, varname2 [, varname3 . [, varnameN]]]];
Имя переменной. Может использоваться любой допустимый идентификатор.
Значение переменной. Любое допустимое выражение. По умолчанию значение undefined.
Описание
Объявление переменной всегда обрабатывается до выполнения кода, где бы она ни находилась. Область видимости переменной, объявленной через var , это её текущий контекст выполнения. Который может ограничиваться функцией или быть глобальным, для переменных, объявленных за пределами функции.
Присвоение значения необъявленной переменной подразумевает, что она будет создана как глобальная переменная (переменная становится свойством глобального объекта) после выполнения присваивания значения. Различия между объявленной и необъявленной переменными следующие:
1. Объявленные переменные ограничены контекстом выполнения, в котором они были объявлены. Необъявленные переменные всегда глобальны.
function x() y = 1; // возбудит ReferenceError в "строгом режиме" var z = 2; > x(); console.log(y); // выведет "1" console.log(z); // возбудит ReferenceError: z не определён вне x
2. Объявленные переменные инициализируются до выполнения любого кода. Необъявленные переменные не существуют до тех пор, пока к ним не выполнено присваивание.
.log(a); // Возбудит ReferenceError. console.log('still going. '); // Не выполнится.
var a; console.log(a); // Выведет "undefined" или "", в зависимости от браузера. console.log('still going. '); // Выведет "still going. ".
3. Объявленные переменные, независимо от контекста выполнения, являются ненастраиваемыми свойствами. Необъявленные переменные это настраиваемые свойства (т.е. их можно удалять).
var a = 1; b = 2; delete this.a; // Возбудит TypeError в "строгом режиме". В "нестрогом режиме" будет ошибка без уведомления. delete this.b; console.log(a, b); // Возбудит ReferenceError. // Свойство 'b' было удалено и больше не существует.
Из-за перечисленных различий, использование необъявленных переменных может привести к непредсказуемым последствиям. Рекомендовано всегда объявлять переменные, вне зависимости, находятся они внутри функции или в глобальном контексте. Присваивание значения необъявленной переменной в строгом режиме (en-US) ECMAScript 5 возбуждает ошибку.
Поднятие переменных
Объявление переменных (как и любые другие объявления) обрабатываются до выполнения кода. Где бы не находилось объявление, это равнозначно тому, что переменную объявили в самом начале кода. Это значит, что переменная становится доступной до того, как она объявлена. Такое поведение называется «поднятием» (в некоторых источниках «всплытием»).
= 2 var bla; // . // читается как: var bla; bla = 2;
Поэтому объявление переменных рекомендовано выносить в начало их области видимости (в начало глобального кода или в начало функции). Это даёт понять какие переменные принадлежат функции (т.е. являются локальными), а какие обрабатываются в цепи областей видимости (т.е. являются глобальными).
Важно отметить, что подъем будет влиять на объявление переменной, но не на инициализацию её значения. Значение присваивается при выполнении оператора присваивания:
function do_something() console.log(bar); // выведет undefined var bar = 111; console.log(bar); // выведет 111 > // . неявно понимается как: function do_something() var bar; console.log(bar); // выведет undefined bar = 111; console.log(bar); // выведет 111 >
Переменные и константы JavaScript
Безотносительно какого-либо языка программирования, переменная в программировании — это именованная область памяти в которой хранятся какие-либо данные. Познакомимся с этим понятием в контексте языка JavaScript.
Переменные в JavaScript
Как можно видеть из определения, переменные используются для хранения каких-либо данных. Это могут быть совершенно различные данные — имена пользователей, какие-то числа, даты рождения и т.д. Что будут хранить переменные в вашей программе — зависит только от вас и ваших задач. Для того, чтобы использовать переменную в своем коде вы должны выполнить следующие действия:
Объявление переменных в JavaScript
Для объявления переменной в JavaScript могут использоваться два ключевых слова: let и var . Например, объявим переменную:
здесь мы объявили переменную с именем a. Если необходимо объявить несколько переменных, то можно использовать следующую конструкцию:
При объявлении переменных в JavaScript необходимо придерживаться ряда простых правил их именования.
Правила именования переменных в JavaScript
В JavaScript имя переменной должно содержать один или более буквенно-цифровой символ, а также может содержать символы $ и _ . При этом, запрещено начинать имя переменной с цифры, а также давать имена, которые совпадают с ключевыми словами языка. Следующие имена переменных являются правильными:
let a; let name; let $variable; let $variable_2; let _;
а так переменные называть нельзя:
let 123a; //нельзя начинать имя с цифры let @variable; //нельзя начинать переменную с @ let var; //нельзя давать имена переменным, совпадающие с ключевыми словами
Что касается ключевых слов, то в JavaScript их не так уж и много и, со временем, все эти слова вы запомните: await, break, case, catch, class, const, continue, debugger, default, delete, do, else, enum, export, extends, false, finally, for, function, if, import, in, instanceof, let, new, null, return, super, switch, this, throw, true, try, typeof, var, void, while, with, yield.
В любом случае, если вы ошибетесь в именовании переменной, то VS Code вас об этом предупредит, подчеркнув красной волнистой чертой ошибку.
В JavaScript имена переменных регистрозависимы. Ниже представлено объявление двух разных переменных:
let userName; let username;
Инициализация переменных в JavaScript
Присвоение переменной значения называется инициализацией. Инициализацию переменной можно производить в момент её объявления, например:
здесь мы объявили и сразу инициализировали переменную. Если переменная уже объявлена где-то выше по коду, то присваивать новое значение переменной необходимо без использования let или var:
let a; //объявили переменную . //здесь много кода JavaScript a = 10; //присвоили переменной значение
Константы
Константы в программировании можно назвать частным случаем переменных. Константа — это также именованная область памяти, хранящая какое-либо значение, но это значение не может изменяться в процессе выполнения программы. Константы объявляются в JavaScript с использованием ключевого слова const.
здесь мы объявили константу с именем pi и присвоили ей значение равной 3.14. Так как значение константы не может изменяться, то вторым отличием константы от переменной является то, что константу необходимо инициализировать в момент её объявления — так, как мы сделали выше. Следующий код вызовет ошибку:
Константы широко используются в программировании в тех случаях, когда нам необходимо хранить какие-либо значения, которые гарантировано не будут менять своё значение. Например, точно известно, что одна калория равна 4,1868 Дж. Если мы пишем программу, в которой необходимо переводить джоули в калории и обратно и делать это много и в разных частях программы, то, логично завести константу и использовать её значение при вычислениях.
«Экзотика» объявления и инициализации переменных в JavaScript
Выше мы рассмотрели правила именования, объявления и инициализации переменных, которые используются повсеместно. Однако, иногда можно наткнуться в чужом коде на разного рода «экзотику» оформления кода, которая может сбивать с толку. Например:
здесь объявлены и инициализированы три переменных. Так делать в JavaScript можно, но не нужно. Такой код труднее читать. Ваш код должен быть понятен не только Вам и вашему компьютеру, но и тем, кто этот код будет использовать. Поэтому, лучше придерживаться правила: одна переменная — одна строка:
let a = 1; let b = 2; let c = 3;
В этом случае код становится ненамного длиннее, но намного понятнее. Иногда встречаются и такие конструкции:
вроде бы и три строки с тремя переменными, но…лучше оставим такое объявление на совести программиста. В общем все три варианта объявления переменных работают одинаково и какой вариант объявления и инициализации переменных вы будете использовать — решать только вам, однако всегда старайтесь делать код более понятным и не увлекайтесь сильно «экзотикой».
Итого
Сегодня мы рассмотрели ещё два важных понятия в языке программирования — переменная и константа. При именовании переменных и констант в JavaScript следует придерживаться ряда правил. Переменные определяются с использованием ключевых слов let и var, а константы — с использование ключевого слова const. О различиях в var и let мы ещё поговорим позднее, когда у нас будет достаточно знаний, чтобы понять эти различия.