Parametry w funkcjach są sercem każdej programatycznej interakcji. W JavaScript obsługa opcjonalnych parametrów może zależeć od używanej wersji. Dzięki ES6 masz teraz elegancką możliwość dodawania opcjonalnych parametrów i ich domyślnych wartości bezpośrednio do definicji funkcji. W tym przewodniku wyjaśnię krok po kroku, jak możesz skorzystać z tej nowej składni.
Najważniejsze wnioski
- Dzięki ES6 możesz tworzyć opcjonalne parametry i definiować domyślne wartości w podpisie funkcji.
- Składnia jest jaśniejsza i zmniejsza potrzebę dodatkowych kontroli, które były wymagane w wcześniejszych wersjach.
Instrukcja krok po kroku
Definicja funkcji z domyślnymi wartościami
Rozpocznijmy od prostej definicji funkcji, która ma dwa parametry – wartość do zwiększenia oraz przyrost, który chcesz uzyskać. Nazywam tę funkcję increment. Tutaj powinieneś określić nazwę funkcji oraz jej parametry.

Parametry definiujesz w sposób następujący: value dla wartości i i dla przyrostu. W zwracanej wartości po prostu deklarujesz sumę tych dwóch parametrów.
Dla pierwszego wywołania funkcji możesz na przykład użyć increment(5, 2) i zapisać wynik w zmiennej.
Użycie domyślnych wartości w podpisie funkcji
Aby poprawić zachowanie funkcji, możesz ustawić domyślne wartości dla parametrów. Jeśli wywołasz funkcję tylko z pierwszym parametrem, chcesz ustalić domyślną wartość dla drugiego parametru. Dlatego możesz zainicjować parametr i w podpisie funkcji za pomocą = 1.
Teraz przetestuj funkcję ponownie z tylko jednym parametrem, np. increment(5). To powinno zwrócić poprawnie 6.
Obsługa wielu domyślnych wartości
Można przypisać wiele parametrów do domyślnych wartości. Jeśli na przykład chcesz ustawić domyślną wartość value na 5 i i na 1, funkcja będzie wyglądać tak: function increment(value = 5, i = 1). Jeśli teraz wywołasz increment(), powinieneś otrzymać 6, jak się spodziewano.
Ta metodologia czyni funkcję bardziej elastyczną. Zauważ, że możesz również wybierać i standaryzować tylko kilkanaście parametrów, w zależności od swoich potrzeb.
Przekazywanie undefined i obsługa domyślnych wartości
Na przykład, jeśli przekazujesz pierwszy parametr jako undefined, zostanie użyta domyślna wartość dla value. Tak więc wywołanie będzie wyglądać tak: increment(undefined, 5). Wynik będzie równy 10, ponieważ value wynosi 5, a i wynosi 5.
To podejście może wydawać się nieco nieestetyczne, dlatego zaleca się umieszczanie domyślnych wartości zazwyczaj na końcu parametrów.
Użycie złożonych domyślnych wartości
Możesz również używać funkcji jako domyślnych wartości. Jeśli zdefiniujesz funkcję getInitValue, która zwraca określoną wartość, możesz jej użyć w podpisie funkcji w ten sposób: function increment(value = getInitValue()). Przekaż standardową wartość podczas wywołania increment().
Ważne jest, aby zauważyć, że funkcja getInitValue jest wywoływana tylko wtedy, gdy przekażesz undefined. Oszczędza to zasoby, kiedy domyślna wartość nie jest potrzebna.
Uwagi dotyczące używania opcjonalnych parametrów
Nowa składnia dla opcjonalnych parametrów w ES6 umożliwia użycie znaku zapytania (?) po parametrze w Visual Studio Code, co stanowi wyraźny sygnał, że dany parametr jest opcjonalny. Dzięki temu szybko możesz zauważyć, które parametry można pominąć.
Ta prosta możliwość definiowania domyślnych wartości przyczynia się do tego, że twój kod jest bardziej czytelny i łatwy w utrzymaniu.
Podsumowanie dotyczące używania opcjonalnych parametrów
W końcu jesteś gotowy, aby skutecznie wykorzystać koncepcję opcjonalnych parametrów w swoich projektach JavaScript. Główną zaletą jest klarowność oraz zmniejszenie wysiłku potrzebnego na sprawdzanie parametrów. Twój kod będzie nie tylko czystszy, ale także łatwiejszy do zrozumienia dla innych programistów, którzy będą czytać twój kod.
Podsumowanie – Opcjonalne parametry funkcji w JavaScript: szczegółowy przewodnik
Korzystanie z opcjonalnych parametrów funkcji w JavaScript umożliwia elegancko zorganizowane i czytelne kodowanie. Nauczyłeś się, jak deklarować domyślne wartości, zarządzać wieloma parametrami, a nawet używać funkcji jako parametrów domyślnych. Te techniki pomogą ci znacznie poprawić proces rozwoju.
Najczęściej zadawane pytania
Co to są opcjonalne parametry funkcji?Opcjonalne parametry funkcji to parametry, które nie muszą być koniecznie podawane przy wywołaniu funkcji; mają domyślne wartości.
Jak definiuję domyślne wartości w ES6?Możesz przypisać domyślne wartości bezpośrednio w podpisie funkcji za pomocą znaku równości =.
Jak postępować z wieloma parametrami o domyślnych wartościach?Ustaw domyślne wartości w definicji funkcji i upewnij się, że są na końcu listy parametrów, aby zwiększyć czytelność.
Kiedy warto używać funkcji jako domyślnych wartości?Jest to uzasadnione, gdy obliczenie domyślnej wartości jest skomplikowane lub może zużywać dodatkowe zasoby – wówczas jest wywoływana tylko w razie potrzeby.
Czy mogę mieszać i dopasowywać opcjonalne parametry?Tak, możesz mieszać opcjonalne parametry i domyślne wartości według potrzeb; jednak zaleca się ustawienie domyślnych wartości na końcu listy parametrów.