0Pricing
Frontend Academy · Lekcja

Typy danych: string, number, boolean, null, undefined

Poznaj typy prymitywne JavaScript, używaj typeof do ich sprawdzania i naucz się rozróżniać null od undefined.

Typy danych: string, number, boolean, null, undefined to bezpłatna lekcja Frontend Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Frontend Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Frontend Academy zawiera 4 lekcji w sumie.

System typów JavaScript

JavaScript jest typowany dynamicznie — typy mają wartości, a nie zmienne. Ta sama zmienna może przechowywać najpierw łańcuch znaków, następnie liczbę, a później null. Zrozumienie siedmiu typów prymitywnych zapobiega dużej liczbie błędów.

string

Łańcuchy znaków reprezentują tekst. Można używać apostrofów, cudzysłowów lub znaku backtick (literału szablonowego). Łańcuchy znaków są niemutowalne — metody operujące na łańcuchach zwracają nowe łańcuchy. Łańcuchy znaków mają właściwość .length oraz wiele wbudowanych metod.

const greeting = 'Hello';
const lang = "JavaScript";
const sentence = `I love ${lang}`;  // template literal

console.log(greeting.length);   // 5
console.log('hello'.toUpperCase()); // 'HELLO'
console.log(' trim me '.trim()); // 'trim me'

number

JavaScript ma jeden typ liczbowy. Wszystkie liczby — całkowite i zmiennoprzecinkowe — są 64-bitowymi liczbami zmiennoprzecinkowymi (IEEE 754). Oznacza to, że 0.1 + 0.2 !== 0.3. Wartości specjalne to Infinity, -Infinity i NaN (Not a Number).

const age = 30;
const price = 19.99;
console.log(0.1 + 0.2);          // 0.30000000000000004
console.log(typeof NaN);          // 'number'
console.log(isNaN('hello'));      // true
console.log(Number.isNaN('hello')); // false (safer check)

boolean

Wartości logiczne to true lub false. Są używane w warunkach i porównaniach. Każda wartość w JavaScript ma określoną prawdziwość logiczną: wartości falsy to false, 0, '', null, undefined i NaN. Wszystkie pozostałe wartości są truthy.

const isActive = true;
const isAdmin = false;

// Falsy values:
if (0) { /* never runs */ }
if ('') { /* never runs */ }
if (null) { /* never runs */ }

null

null to jawnie przypisana pusta wartość. Oznacza „celowo brak wartości”. Używaj null, gdy chcesz wyczyścić zmienną lub zasygnalizować brak wartości. typeof null === 'object' to słynny błąd JavaScript zachowany dla zgodności wstecznej.

let selectedUser = null;  // no user selected yet
selectedUser = { name: 'Alice' };
selectedUser = null;       // cleared

undefined

undefined oznacza, że wartość nie została jeszcze przypisana. Zmienne zadeklarowane, ale niezainicjalizowane, mają wartość undefined. Brakujące argumenty funkcji mają wartość undefined. Odwołanie do brakujących właściwości obiektu zwraca undefined.

let x;                       // undefined
function greet(name) {
  console.log(name);           // undefined if called as greet()
}
const obj = {};
console.log(obj.foo);         // undefined

null a undefined

null = celowy brak wartości. undefined = wartość nie została jeszcze przypisana. Ogólna zasada: pozwól silnikowi ustawić undefined, a w swoim kodzie używaj jawnie null, gdy masz na myśli „pustą wartość”.

Operator typeof

Użyj typeof, aby sprawdzić typ wartości w czasie wykonywania. Zwraca on ciąg znaków: 'string', 'number', 'boolean', 'undefined', 'object', 'function', 'bigint', 'symbol'. Pamiętaj: typeof null === 'object' to znany błąd.

typeof 'hello'     // 'string'
typeof 42          // 'number'
typeof true        // 'boolean'
typeof undefined   // 'undefined'
typeof null        // 'object' ← historical bug
typeof {}          // 'object'
typeof []          // 'object'
typeof function(){} // 'function'

Symbol i BigInt

Symbol: unikalny, niemutowalny identyfikator — używany jako klucz właściwości obiektu, który nie będzie kolidować z innymi kluczami. BigInt: liczby całkowite większe niż Number.MAX_SAFE_INTEGER (2^53-1). Tworzy się je za pomocą 42n lub BigInt(42). W większości prac frontendowych nie są potrzebne.

Pułapki niejawnej konwersji typów

JavaScript po cichu konwertuje typy podczas porównań i operacji. Używaj === (ścisłej równości), a nie == (luźnej równości), aby uniknąć nieoczekiwanych skutków konwersji.

0 == false        // true (coercion)
0 === false       // false (strict, no coercion)
'' == false       // true
'5' == 5          // true
'5' === 5         // false ✓ use this

Konwersja typów

Konwertuj typy jawnie za pomocą Number(), String(), Boolean() lub parseInt() / parseFloat(). Jawna konwersja jest zawsze czytelniejsza niż poleganie na niejawnej konwersji.

Number('42')      // 42
Number('')        // 0
Number('abc')     // NaN
String(42)        // '42'
Boolean(0)        // false
Boolean('hello')  // true
parseInt('10px')  // 10

Szybkie sprawdzenie

Co zwraca typeof null w JavaScript?

Podsumowanie: typy danych JavaScript

Siedem typów prymitywnych: string, number, boolean, null, undefined, symbol i bigint. Używaj typeof do sprawdzania typów. Używaj === do porównań, aby uniknąć niejawnej konwersji. Rozróżniaj null (celowo pusta wartość) od undefined (wartość jeszcze nieustawiona). Wszystkie pozostałe wartości są obiektami.

Często zadawane pytania

Czy lekcja „Typy danych: string, number, boolean, null, undefined” jest bezpłatna?

Tak — pełny tekst „Typy danych: string, number, boolean, null, undefined” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Frontend Academy, przejdź na CoddyKit PRO. Kurs Frontend Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Typy danych: string, number, boolean, null, undefined”?

Poznaj typy prymitywne JavaScript, używaj typeof do ich sprawdzania i naucz się rozróżniać null od undefined. Ćwiczysz Frontend Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Frontend Academy?

Nie wymagamy żadnego doświadczenia. Frontend Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Typy danych: string, number, boolean, null, undefined”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Frontend Academy?

Tak. Każda lekcja Frontend Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Zmienne: let, const, var i zakres
  2. Typy danych: string, number, boolean, null, undefined
  3. Funkcje: deklaracje, wyrażenia i funkcje strzałkowe
  4. Sterowanie przepływem: if, else, switch, for, while
← Powrót do Frontend Academy