Funkcje wbudowane w JavaScript
1. Wprowadzenie
JavaScript posiada bogaty zestaw wbudowanych funkcji, które są dostępne globalnie i ułatwiają pracę z danymi, konwersję typów, operacje matematyczne czy pracę z czasem.
Znajomość tych funkcji pozwala pisać efektywniejszy i czytelniejszy kod bez konieczności implementowania podstawowych operacji od zera.
2. Funkcje konwersji typów
2.1 parseInt()
Konwertuje string na liczbę całkowitą.
Drugi parametr – system liczbowy (2-36).
2.2 parseFloat()
Konwertuje string na liczbę zmiennoprzecinkową.
2.3 Number()
Konwertuje wartość na liczbę (bardziej restrykcyjne niż parseInt/parseFloat).
2.4 String()
Konwertuje wartość na string.
2.5 Boolean()
Konwertuje wartość na true lub false.
3. Sprawdzanie wartości
3.1 isNaN()
Sprawdza, czy wartość jest NaN (Not a Number).
Uwaga: isNaN() próbuje konwertować wartość przed sprawdzeniem.
3.2 Number.isNaN() (ES6)
Bardziej precyzyjna wersja – nie konwertuje wartości.
3.3 isFinite()
Sprawdza, czy wartość jest skończoną liczbą.
3.4 Number.isFinite() (ES6)
Precyzyjna wersja – bez konwersji.
3.5 Number.isInteger() (ES6)
Sprawdza, czy wartość jest liczbą całkowitą.
4. Funkcje matematyczne (Math)
Obiekt Math zawiera wbudowane funkcje matematyczne.
4.1 Zaokrąglanie
| Funkcja | Opis | Przykład |
|---|---|---|
Math.round() |
Zaokrąglenie do najbliższej | Math.round(4.5) → 5 |
Math.floor() |
Zaokrąglenie w dół | Math.floor(4.9) → 4 |
Math.ceil() |
Zaokrąglenie w górę | Math.ceil(4.1) → 5 |
Math.trunc() |
Usunięcie części dziesiętnej | Math.trunc(4.9) → 4 |
4.2 Wartości ekstremalne
| Funkcja | Opis | Przykład |
|---|---|---|
Math.max() |
Największa wartość | Math.max(1, 5, 3) → 5 |
Math.min() |
Najmniejsza wartość | Math.min(1, 5, 3) → 1 |
Math.abs() |
Wartość bezwzględna | Math.abs(-5) → 5 |
4.3 Potęgowanie i pierwiastek
| Funkcja | Opis | Przykład |
|---|---|---|
Math.pow() |
Potęgowanie | Math.pow(2, 3) → 8 |
Math.sqrt() |
Pierwiastek kwadratowy | Math.sqrt(16) → 4 |
Math.cbrt() |
Pierwiastek sześcienny | Math.cbrt(27) → 3 |
Nowoczesna składnia (ES6):
4.4 Losowe liczby
Math.random() – zwraca losową liczbę z przedziału [0, 1).
Losowa liczba z zakresu:
Funkcja pomocnicza:
4.5 Stałe matematyczne
| Stała | Wartość | Opis |
|---|---|---|
Math.PI |
3.14159... | Liczba π |
Math.E |
2.71828... | Liczba Eulera (e) |
Math.SQRT2 |
1.41421... | Pierwiastek z 2 |
Math.LN2 |
0.69314... | Logarytm naturalny z 2 |
5. Funkcje globalne
5.1 encodeURI() / decodeURI()
Kodowanie i dekodowanie URL.
5.2 encodeURIComponent() / decodeURIComponent()
Kodowanie parametrów URL (bardziej restrykcyjne).
5.3 eval() (UNIKAJ)
Wykonuje kod JavaScript z stringa.
Niebezpieczne: * Ryzyko XSS (Cross-Site Scripting) * Trudne w debugowaniu * Wolne
Używaj tylko w bardzo specyficznych przypadkach.
6. Funkcje czasowe
6.1 setTimeout()
Wykonuje funkcję po określonym czasie (w milisekundach).
Anulowanie:
6.2 setInterval()
Wykonuje funkcję co określony czas.
7. Funkcje konsoli (console)
| Metoda | Opis |
|---|---|
console.log() |
Wyświetla informacje |
console.error() |
Wyświetla błąd (czerwony) |
console.warn() |
Wyświetla ostrzeżenie (żółty) |
console.table() |
Wyświetla dane w tabeli |
console.time() |
Rozpoczyna pomiar czasu |
console.timeEnd() |
Kończy pomiar czasu |
console.clear() |
Czyści konsolę |
Przykład:
8. Dobre praktyki
- Używaj
Number.isNaN()zamiastisNaN()dla precyzji - Unikaj
eval()– jest niebezpieczny - Używaj
parseInt()z drugim parametrem (system liczbowy) - Dla losowych liczb używaj funkcji pomocniczych do określenia zakresu
console.log()jest świetny do debugowania, ale usuń go z produkcji
9. Podsumowanie
| Kategoria | Funkcje |
|---|---|
| Konwersja typów | parseInt(), parseFloat(), Number() |
| Sprawdzanie wartości | isNaN(), isFinite(), Number.isInteger() |
| Matematyka | Math.round(), Math.max(), Math.random() |
| URL | encodeURI(), decodeURI() |
| Timery | setTimeout(), setInterval() |
| Konsola | console.log(), console.error() |
10. Wnioski
- JavaScript oferuje bogaty zestaw funkcji wbudowanych
- Znajomość tych funkcji pozwala unikać reinventing the wheel
Mathto potężne narzędzie do operacji matematycznych- Funkcje konwersji typów są kluczowe przy pracy z danymi użytkownika
- Timery (
setTimeout,setInterval) umożliwiają asynchroniczne operacje
Podsumowanie praktyczne:
Opanuj funkcje konwersji typów, Math do operacji matematycznych i timery do asynchroniczności. To pozwoli Ci efektywnie rozwiązywać typowe problemy programistyczne.