2. Zmienne, stałe i podstawowe typy danych

~25 min podstawowy

Zmienne przechowują dane, z którymi pracujemy. JavaScript jest dynamicznie typowany – typy sprawdzane w runtime.

Deklaracja zmiennych

Używaj let dla zmiennych modyfikowalnych, const dla stałych. Unikaj var (starsze, hoisting może powodować błędy).

let imie = "Ola";          // String, modyfikowalny
const wiek = 24;           // Number, stały
let czyStudent = true;     // Boolean
Zasada: const – nie zmieniamy wartości (błąd przy próbie), let – możemy zmieniać. Zawsze używaj const domyślnie.

Podstawowe typy danych

  • string → "tekst", 'tekst', `Hello ${imie}` (template literals – interpolacja)
  • number → 42, 3.14, -5 (wszystko to liczby, bez rozróżnienia int/float)
  • boolean → true / false
  • null → celowo brak wartości (np. let x = null;)
  • undefined → zmienna bez przypisanej wartości (np. let y;)
Ciekawostka: Template literals (`backticks`) pozwalają na wieloliniowe stringi i wyrażenia: `Witaj, ${imie}! Masz ${wiek*2} lat?`.

Modyfikacja zmiennych

let punkty = 100;
punkty = punkty + 30;     // 130
punkty += 20;             // 150 (skrót dla +=, -=, *=, /=)
punkty++;                 // 151 (inkrementacja)
Ostrzeżenie: Próba zmiany const rzuci błąd: TypeError.

Sprawdzanie typów

Użyj typeof do weryfikacji:

console.log(typeof imie);  // "string"
console.log(typeof wiek);  // "number"
Ciekawostka: typeof null zwraca "object" – historyczny bug w JS, ale nie zmieniaj null na undefined.

Ćwiczenie

  1. Deklaruj const nazwa = "Twoje imię"; i wyświetl w konsoli z template literal.
  2. Stwórz let licznik = 0; inkrementuj 5 razy i wyświetl.
  3. Sprawdź typeof undefined zmiennej i null.

Poprawka do oryginału: Dodano o typeof, inkrementacji, unikaniu var; rozszerzono przykłady.