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() zamiast isNaN() 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
  • Math to 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.