JavaRush /Курси /Frontend SELF UA /Змінні та типи даних у JavaScript

Змінні та типи даних у JavaScript

Frontend SELF UA
Рівень 33 , Лекція 1
Відкрита

2.1 Змінні у JavaScript

JavaScript — це гнучка і динамічна мова програмування, яка підтримує різні способи оголошення змінних і роботи з типами даних. У цій лекції ми розглянемо три основні способи оголошення змінних (var, let, const) і базові примітивні типи даних у JavaScript.

Змінні у JavaScript

JavaScript — це мова з динамічною типізацією. Змінні в ньому не мають типу. Будь-якій змінній можна присвоїти будь-яке значення у будь-який час (але є нюанси).

Щоб створити змінну, потрібно написати конструкцію виду:

    
      var name;
    
  

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

    
      var name = value;
    
  

Але взагалі-то в JavaScript є аж цілих 3 способи створення змінних. Ось про них зараз детальніше і поговоримо.

Оператор var

Змінні, оголошені за допомогою var, мають функціональну або глобальну область видимості. Вони піддаються "спливанню" (hoisting), що означає, що їх оголошення переміщується на початок своєї області видимості під час виконання коду.

Приклад:

JavaScript
    
      console.log(x); // undefined
      var x = 10;
      console.log(x); // 10
    
  

У цьому прикладі змінна x піднімається на початок своєї області видимості, тому перший console.log виводить undefined.

Іншими словами, «спливання» перетворює наш код у цей:

JavaScript
    
      var x;
      console.log(x); // undefined
      x = 10;
      console.log(x); // 10
    
  

Оператор let

Розробники дуже хотіли змінити поведінку оператора var, але вони боялися зламати мільйони вже написаних рядків коду. Тому вони просто придумали ще один оператор, який теж створює змінні, але з трохи іншою поведінкою.

Змінні, оголошені за допомогою let, мають блочну область видимості. Це означає, що вони доступні тільки у межах блоку коду (зазвичай у фігурних дужках {}), у якому вони оголошені. let не піддається спливанню так, як var.

Приклад:

Змінна y існує тільки всередині блоку if.

JavaScript
    
      if (true) {
        let y = 20;
        console.log(y); // 20
      }

      console.log(y); // ReferenceError: y is not defined
    
  

Оператор const

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

Тобто змінну міняти не можна, а об’єкт, на який вона посилається, — можна. Хотіли як краще, а вийшло, як завжди.

Приклад:

У цьому прикладі константа x не може бути переназначена, але об’єкт obj може змінюватися.

JavaScript
    
      const x = 30;
      console.log(x); // 30
      x = 40; // TypeError: Assignment to constant variable.

      const obj = { name: 'Alice' };
      obj.name = 'Bob'; // Це допустимо
      console.log(obj.name); // Bob
    
  

2.2 Примітивні типи даних

JavaScript підтримує кілька примітивних типів даних, які представляють собою прості значення, що не є складними об'єктами.

Тип Number

Представляє будь-які числові значення, включаючи цілі числа і числа з плаваючою крапкою.

Приклади:

JavaScript
    
      let num = 42;
      let pi = 3.14;
    
  

Тип String

Представляє текстові дані: рядки, символи, емодзі. Все що схоже на рядки — це сюди.

Приклади:

JavaScript
    
      let greeting = "Hello, world!";
      let facepalm = "🤦";
      let char = 'x';
    
  

Тип Boolean

Представляє логічні значення true або false.

JavaScript
    
      let isTrue = true;
      let isFalse = false;
    
  

Тип Null

Представляє навмисну відсутність значення.

JavaScript
    
      let empty = null;
    
  

Якщо тип складається з одного значення, яке означає відсутність значення, то може він все-таки унікальне значення, ніж унікальний тип?

Тип Undefined

Представляє значення змінної, яка була оголошена, але не ініціалізована.

JavaScript
    
      let notAssigned;
      console.log(notAssigned); // undefined
    
  

2.3 Порівняння var, let і const

Давайте наостанок порівняємо наші три способи створення змінних ще раз:

Характеристика var let const
Область видимості Функціональна або глобальна Блочна Блочна
Спливання (Hoisting) Так, але ініціалізація не спливає Ні Ні
Переназначення Так Так Ні
Ініціалізація Необов’язкова Необов’язкова Обов’язкова

JavaScript надає кілька способів оголошення змінних, кожен з яких має свої особливості і застосовність залежно від контексту. var використовується рідше через свої особливості спливання і глобальну область видимості. let і const віддаються перевагу у сучасному JavaScript через їх блочну область видимості і контроль над переназначенням.

Примітивні типи даних дозволяють працювати з основними структурами даних, забезпечуючи базову функціональність, необхідну для створення складних додатків. І це найпопулярніша мова у світі :)

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ