Основы javascript

Переменные и константы

Последнее обновление: 10.08.2023

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

Объявление переменных

Для создания переменных применяются операторы var и let. Например, объявим переменную username:

var username;

Объявление переменной представляет отдельную инструкцию, поэтому завершается точкой с запятой.

Аналогичное определение переменной с помощью оператора let:

let username;

Каждая переменная имеет имя. Имя представляет собой произвольный набор алфавитно-цифровых символов, знака подчеркивания (_) или знака доллара ($), причем названия не должны начинаться с цифровых символов. То есть мы можем использовать в названии буквы, цифры, подчеркивание и символ $. Однако все остальные символы запрещены.

Например, правильные названия переменных:

$commision
someVariable
product_Store
income2
myIncome_from_deposit

Следующие названия являются некорректными и не могут использоваться:

222lol
@someVariable
my%percent

Также нельзя давать переменным такие имена, которые совпадают с зарезервированными ключевыми словами. В JavaScript не так много ключевых слов, поэтому данное правило не сложно соблюдать. Например, следующее название будет некорректным, так как for - ключевое слово в JavaScript:

var for;

Список зарезервированных слов в JavaScript:

await, break, case, catch, class, const, continue, debugger, default, delete, do, else, enum, export, extends, false, finally, for, function, if, import, in, instanceof, new, null, return, super, switch, this, throw, true, try, typeof, var, void, while, with, yield

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

Также не рекомендуется объявлять переменные с именем, которые аналогичны уже имеющимся глобальным переменным. Например, для вывода на консоль используется метод console.log(). Здесь console - это имя глобального объекта, и мы можем определить переменную с этим именем.

let console;    // определяем переменную console
console.log("Hello");   // ! Ошибка

Определение переменной console приведет к тому, что она переопределит одноименный глобальный объект console, и при вызове метода console.log() мы столвнемся с ошибкой.

Подобных глобальных объектов не так много, кроме console это также alert, blur, close, closed, document, focus, frames, location, navigator, open, screen, window.

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

let username;
let userName;

Через запятую можно определить сразу несколько переменных:

var username, age, height;
let a, b, c;

Присвоение переменной значения

После определения переменной ей можно присвоить какое-либо значение. Для этого применяется оператор присваивания (=):

var username;
username = "Tom";

То есть в данном случае переменная username будет хранить строку "Tom". После присвоения переменной значения мы можем что-то сделать с этим значением, например, выведем его на консоль:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>METANIT.COM</title>
</head>
<body>
    <script>
		let username;			// Определение переменной username
		username = "Tom";		// Присвоение переменной значения
		console.log(username);	// Вывод значения переменной username на консоль
	</script>
</body>
</html>
Переменные в JavaScript

Можно сразу присвоить переменной значение при ее определении:

var username = "Tom";
let userage = 37;

Процесс присвоения переменной начального значения называется инициализацией.Можно обратить внимание, что одна переменная определена с помощью let, а другая - с помощью var. Конкретно в данном случае это не имеет значения, и мы могли бы определить обе переменных либо с помощью let, либо с помощью var. Но в целом между let и var, есть различия, которые будут рассмотрены в одной из следующих статьях.

Можно сразу инициализировать несколько переменных:

let name1 = "Tom", name2 = "Bob", name3 = "Sam";
console.log(name1);  // Tom
console.log(name2);  // Bob
console.log(name3);  // Sam

JavaScript позволяет некоторые вольности при определении переменной. Так, мы можем НЕ использовать ключевые слова let или var

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>METANIT.COM</title>
</head>
<body>
    <script>
        username = "Tom"; // ошибки нет, норм
        console.log(username);  // Tom
    </script> 
</body>
</html>

Хотя мы можем так делать, но это не самый рекомендуемый подход. В одной из следующих статей мы увидим, с какими проблемами мы можем столкнуться при подобном подходе.

Изменение переменных

Отличительной чертой переменных является то, что мы можем изменить их значение:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>METANIT.COM</title>
</head>
<body>
    <script>
		let username = "Tom";
		console.log("username до изменения:", username);
		username = "Bob";
		console.log("username после изменения:", username);
	</script>
</body>
</html>
Изменение переменных в JavaScript

Константы

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

const username = "Tom";

Если мы попробуем изменить ее значение, то мы столкнемся с ошибкой:

const username = "Tom";
username = "Bob";	// ошибка, username - константа, поэтому мы не можем изменить ее значение
Константы const в JavaScript

Также стоит отметить, что поскольку мы не можем изменить значение константы, то она должна быть инициализирована, то есть при ее определении мы должны предоставить ей начальное значение. Если мы этого не сделаем, то опять же мы столкнемся с ошибкой:

const username; // ошибка, username не инициализирована

Когда использовать переменные, а когда константы? Если вы уверены, что значение в процессе программы не будет изменяться, тогда это значение определяется в виде константы. Если неизвестно, будет ли значение меняться или нет, то рекомендуется определить значение как константу. А в случае если в далее потребуется его изменить, то просто можно изменить определение значения с const на var/let.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850