Змінні та константи JavaScript

Для зберігання даних у програмі використовуються змінні. Змінні призначені для зберігання якихось тимчасових даних або таких даних, які в процесі роботи можуть змінювати своє значення.

Оголошення змінних
Для створення змінних застосовуються оператори 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 і прийняттям нових стандартів мови список зарезервованих слів може поповнюватися, проте загалом їх не так уже й багато.

При назві змінних треба враховувати, що JavaScript є регістрозалежною мовою, тобто в наступному коді оголошено дві різні змінні:

var username;
var userName;

Через кому можна визначити одразу кілька змінних:

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

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

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

var username;
username = "Tom";

Тобто в цьому випадку змінна username зберігатиме рядок "Tom". Після присвоєння змінній значення ми можемо щось зробити з цим значенням, наприклад, виведемо його на консоль:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>ITshnyk</title>
</head>
<body>
    <script>
        var username;           // Визначення змінної username
        username = "Tom";       // Присвоєння змінній значення
        console.log(username);  // Виведення значення змінної username на консоль
    </script>
</body>
</html>

Можна відразу присвоїти змінній значення під час її визначення:

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

Процес присвоєння змінній початкового значення називається ініціалізацією.

Відмінною рисою змінних є те, що ми можемо змінити їхнє значення:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>ITshnyk</title>
</head>
<body>
    <script>
        var username = "Tom";
        console.log("username до зміни:", username);
        username = "Bob";
        console.log("username після зміни:", username);
    </script>
</body>
</html>

Константи

За допомогою ключового слова const можна визначити константу, яка, як і змінна, зберігає значення, однак це значення не може бути змінено.

const username = "Tom";

Якщо ми спробуємо змінити її значення, то зіткнемося з помилкою:

const username = "Tom";
username = "Bob"; // помилка, username - константа, тому ми не можемо змінити її значення

Також варто зазначити, що оскільки ми не можемо змінити значення константи, то вона має бути ініціалізована, тобто під час її визначення ми маємо надати їй початкове значення. Якщо ми цього не зробимо, то знову ж таки ми зіткнемося з помилкою:

const username; // помилка, username не ініціалізовано

Коли використовувати змінні, а коли константи? Якщо ви впевнені, що значення в процесі програми не буде змінюватися, тоді це значення визначається у вигляді константи. Якщо невідомо, чи буде значення змінюватися чи ні, то рекомендується визначити значення як константу. А в разі якщо надалі буде потрібно його змінити, то просто можна змінити визначення значення з const на var/let.