3.1 Typ Number
Liczby w JavaScript odgrywają ważną rolę przy pracy z danymi i przeprowadzaniu obliczeń. Język oferuje wiele możliwości pracy z liczbami, w tym różnorodne operacje i wbudowane metody.
W JavaScript istnieje jeden typ danych dla liczb — Number. Ten typ danych reprezentuje zarówno liczby całkowite, jak i liczby zmiennoprzecinkowe. Dodatkowo, od 2020 roku został wprowadzony typ BigInt do pracy z bardzo dużymi liczbami całkowitymi.
Przykłady:
let integer = 42; // Liczba całkowita
let float = 3.14; // Liczba zmiennoprzecinkowa
let bigInt = 12345678901234567890n; // Duża liczba całkowita
Operacje na liczbach
Operacje arytmetyczne:
Operacja | Składnia | Opis | Przykład | Wynik |
---|---|---|---|---|
Dodawanie | a + b | Dodaje dwie liczby | 5 + 3 | 8 |
Odejmowanie | a - b | Odejmuje jedną liczbę od drugiej | 10 - 4 | 6 |
Mnożenie | a * b | Mnoży dwie liczby | 7 * 3 | 21 |
Dzielenie | a / b | Dzieli jedną liczbę przez drugą | 20 / 5 | 4 |
Reszta z dzielenia | a % b | Zwraca resztę z dzielenia | 10 % 3 | 1 |
Potęgowanie | a ** b | Podnosi liczbę do potęgi | 2 ** 3 | 8 |
Inkrementacja i dekrementacja
Operacja | Składnia | Opis | Przykład | Wynik |
---|---|---|---|---|
Inkrementacja | ++a | Zwiększa wartość o jeden (prefiksowy) | let a = 5; ++a; |
6 |
Inkrementacja | a++ | Zwiększa wartość o jeden (postfiksowy) | let a = 5; a++; |
5 (a potem 6) |
Dekrementacja | --b | Zmniejsza wartość o jeden (prefiksowy) | let b = 5; --b; |
4 |
Dekrementacja | b-- | Zmniejsza wartość o jeden (postfiksowy) | let b = 5; b--; |
5 (a potem 4) |
Operacje kombinowane
Operacja | Składnia | Opis | Przykład | Wynik |
---|---|---|---|---|
Dodawanie z przypisaniem | a += b | Dodaje i przypisuje wynik | let x = 10; x += 5; |
15 |
Odejmowanie z przypisaniem | a -= b | Odejmuje i przypisuje wynik | let x = 10; x -= 3; |
7 |
Mnożenie z przypisaniem | a *= b | Mnoży i przypisuje wynik | let x = 10; x *= 2; |
20 |
Dzielenie z przypisaniem | a /= b | Dzieli i przypisuje wynik | let x = 10; x /= 2; |
5 |
Reszta z przypisaniem | a %= b | Znajduje resztę i przypisuje wynik | let x = 10; x %= 3; |
1 |
3.2 Wbudowane metody
W JavaScript jest wbudowany obiekt Math
do wykonywania różnych operacji matematycznych.
1. Math.round():
Zaokrągla liczbę do najbliższej liczby całkowitej.
let rounded = Math.round(4.6); // 5
2. Math.ceil():
Zaokrągla liczbę w górę do najbliższej liczby całkowitej.
let ceil = Math.ceil(4.2); // 5
3. Math.floor():
Zaokrągla liczbę w dół do najbliższej liczby całkowitej.
let floor = Math.floor(4.8); // 4
4.Math.random():
Zwraca losową liczbę w zakresie od 0 do 1.
let random = Math.random();
5. Math.max() i Math.min():
Zwracają maksymalną i minimalną wartość z zestawu liczb.
let max = Math.max(1, 2, 3, 4); // 4
let min = Math.min(1, 2, 3, 4); // 1
6. Math.sqrt():
Zwraca pierwiastek kwadratowy liczby.
let sqrt = Math.sqrt(16); // 4
7. Math.pow():
Zwraca liczbę podniesioną do podanej potęgi.
let pow = Math.pow(2, 3); // 8
3.3 Parsowanie stringów na liczby
Funkcja parseInt():
Przekształca string na liczbę całkowitą.
let int = parseInt('123'); // 123
Funkcja parseFloat():
Przekształca string na liczbę zmiennoprzecinkową.
let float = parseFloat('3.14'); // 3.14
Funkcja Number():
Przekształca wartość w liczbę.
let num = Number('42'); // 42
Sprawdzanie wartości
Funkcja isNaN():
Sprawdza, czy wartość jest NaN (czyli nie jest liczbą).
let isNotNumber = isNaN('hello'); // true
Funkcja isFinite():
Sprawdza, czy wartość jest skończoną liczbą (czy to nieskończoność, czy nie).
let finite = isFinite(10); // true
let notFinite = isFinite(Infinity); // false
3.4 Cechy liczb w JavaScript
1. Ograniczenia liczbowe
W JavaScript liczby są reprezentowane w formacie zmiennoprzecinkowym o podwójnej precyzji, co ma pewne ograniczenia:
- Maksymalna wartość: Number.MAX_VALUE
- Minimalna wartość: Number.MIN_VALUE
- Plus nieskończoność: Infinity
- Minus nieskończoność: -Infinity
- Nie jest liczbą (NaN): wartość, która nie jest liczbą
2. Dokładność liczb
Praca z liczbami zmiennoprzecinkowymi może prowadzić do problemów z dokładnością:
let sum = 0.1 + 0.2;
console.log(sum); // 0.30000000000000004
Tak jest we wszystkich językach programowania – JavaScript nie jest wyjątkiem.
3.Bezpieczne liczby całkowite
W JavaScript istnieje pojęcie "bezpiecznych" liczb całkowitych, które mogą być dokładnie reprezentowane w formie liczb zmiennoprzecinkowych:
- Maksymalna bezpieczna liczba całkowita:
Number.MAX_SAFE_INTEGER (253 - 1)
- Minimalna bezpieczna liczba całkowita:
Number.MIN_SAFE_INTEGER (-(253 - 1))
GO TO FULL VERSION