JavaScript
Wyszukiwarka
Wprowadzenie do JavaScript
Podstawy języka JavaScript
Zmienne i typy danych
Pętle i instrukcje warunkowe
Podstawy funkcji
Obiekty i tablice
Obsługa formularzy i edycja elementów
Cookies
Typy danych i konwersje w JavaScript
JavaScript oferuje kilka wbudowanych typów danych, które dzielimy na prymitywne (string, number, boolean, null, undefined, symbol, bigint) oraz referencyjne (obiekty, w tym tablice i funkcje). W codziennej praktyce najczęściej używa się string, number, boolean, null, undefined oraz obiektów. Ważnym aspektem jest to, że JS jest językiem dynamicznie typowanym, co oznacza możliwość (a czasem niechcianą konsekwencję) konwertowania typów w locie.
Typy prymitywne – krótkie omówienie
- String
- Przechowuje tekst w cudzysłowach (pojedynczych lub podwójnych) bądź backtickach ` ` (ES6).
- Przykład: let text = "Hello";
- Number
- Jeden typ liczbowy (liczby całkowite i zmiennoprzecinkowe).
- Przykład: let age = 30;
- Boolean
- Wartość logiczna: true albo false.
- Przykład: let isActive = true;
- null
- Oznacza świadome nieposiadanie wartości.
- Przykład: let currentUser = null;
- undefined
- Zmienna istnieje, ale nie ma przypisanej wartości.
- Przykład: let notSet; // domyślnie undefined
- Symbol (ES6)
- Unikalna i niezmienialna wartość, głównie do identyfikatorów obiektów. (Rzadziej używany na początku nauki.)
- BigInt (ES2020)
- Pozwala na obsługę bardzo dużych liczb przekraczających limit Number.MAX_SAFE_INTEGER.
- Tworzony przez dodanie n na końcu liczby: let huge = 12345678901234567890n;
Typy referencyjne (obiekty)
- Obiekty zawierają właściwości (klucz: wartość) i mogą być rozbudowane o metody.
- Tablice (arrays) – specjalny rodzaj obiektu o indeksach liczbowych.
- Funkcje są również obiektami w JS (zawierają m.in. właściwość name, length).
Konwersje typów
W JavaScript często dochodzi do automatycznych konwersji (np. przy operatorze + ze stringami), ale możesz też dokonywać konwersji jawnych:
- Konwersja liczbowa
- Number("123") → 123
- parseInt("10.5") → 10, parseFloat("10.5") → 10.5
- Konwersja na string
- String(123) → "123"
- 123 + "" → "123" (nie zawsze zalecane, bo może prowadzić do błędów)
- Konwersja logiczna
- Boolean(0) → false, Boolean("Hello") → true
- Wartości takie jak 0, "", null, undefined, NaN są falsy, a pozostałe – truthy.
Praktyczne użycie
See the Pen
Untitled by EE-Informatyk.pl (@eeinformatyk)
on CodePen.
Podsumowanie
- JavaScript jest językiem dynamicznie typowanym, co oznacza, że jedna zmienna może zmieniać typ w trakcie działania programu.
- Typy prymitywne: string, number, boolean, null, undefined, (ES6) symbol, (ES2020) bigint.
- Obiekty (w tym tablice, funkcje) są typami referencyjnymi.
- Istnieją jawne metody konwersji (np. Number(), String(), Boolean()) oraz niejawne (np. przy łączeniu stringów).
- Świadome zarządzanie typami pomaga w pisaniu kodu wolnego od błędów i łatwiejszego w debugowaniu.