Domyślne parametry w JavaScript | Wyjaśniono przykładami

Domyślne parametry w JavaScript | Wyjaśniono przykładami
Parametry definiują wymagania dotyczące wywoływania funkcji. Często wywołujemy funkcję, ale tęsknimy za włączeniem niektórych argumentów niezbędnych do wyjścia, a funkcja JavaScript albo daje nam błąd, albo zwraca wartość nan.

Aby uniknąć tego niepożądanego wyniku, używamy parametrów domyślnych. Parametry domyślne to parametry, które zdefiniowały ich wartości domyślne w przypadku braku ich wywołania wywołania funkcji.

Przyjrzymy się przykładowi, w którym otrzymamy nieskrępowy wynik z powodu brakujących argumentów, a następnie naprawimy go za pomocą tradycyjnych i domyślnych parametrów. Ale najpierw dowiedzmy się trochę więcej o domyślnych parametrach.

Jakie są parametry domyślne

W wersji ES6 JavaScript wprowadził funkcję konfiguracji parametrów domyślnych. Opracowując aplikację na pełny stos, zwykle chcemy pokryć wszystkie nasze cele, które mogą zwrócić nam każdy błąd. Kwestia brakujących argumentów w wywołaniu funkcji wywołujące.

Deklarowanie domyślnych parametrów jest dość łatwe. Podczas definiowania parametru funkcji po prostu umieść wartość domyślną po „=” podpisać. Składnia jest jak:

funkcja funkcjonalna identyfier (parametr = wartość)
// Ciało funkcji
;

Na przykład:

funkcjaPrintName (FirstName, lastName = 'doe')
konsola.log (FirstName + " + LastName);

PrintName („John”);
PrintName („John”, „Who”);

Wyjście obu poleceń jest:

W przypadku pierwszego wywołania funkcji wykorzystał domyślną wartość „DOE” dla parametru „LastName”, a po drugie używał obu argumentów.

Jak działają parametry domyślne

Korzystając z tej samej funkcji, którą utworzyliśmy w powyższym przykładzie, dla pierwszego przypadku, gdy oba argumenty są obecne, wówczas wartości wewnątrz wywołania funkcji są używane tak:

A w drugim przypadku, w którym brakuje jednego z argumentów, funkcja wykorzystała wartość, którą zdefiniowaliśmy jako wartość domyślną w parametrze jak:

Dlaczego warto używać parametrów domyślnych

Zazwyczaj gdy nie jest przekazywany argument, parametr jest uważany za „niezdefiniowany” przez JavaScript. Tradycyjne lub trywialne podejście do uniknięcia niechcianego wyjścia jest sprawdzenie parametru pod kątem niezdefiniowanej wartości. Trywialne podejście można zastosować z następującymi wierszami kodu, aby funkcja dodała 2 liczby:

funkcjaaddnumbers (NUM1, NUM2)
if (num1 === Undefined)
NUM1 = 1;

if (num2 === Undefined)
NUM2 = 1;

return num1 + num2;

konsola.log (addnumbers ());

Nawet jeśli nie przekazujemy żadnych argumentów podczas wywoływania funkcji wewnątrz konsola.dziennik() funkcja, nie otrzymamy żadnego błędu.

W rzeczywistości wyjście jest jak:

Jak widać, możemy również poradzić sobie z kwestią brakujących argumentów. Jednak bycie dobrym programistą polega na byciu wydajnym, a to trywialne podejście nie jest skutecznym rozwiązaniem.

Gdybyśmy rozwiązali ten sam problem przy użyciu domyślnych parametrów, rozwiązanie byłoby znacznie bardziej zwięzłe jak:

funkcja addnumbers (num1 = 1, num2 = 1)
return num1 + num2;

konsola.log (addnumbers ());

Jak widać, zamiast pisać liczne wiersze, zrobiliśmy to w jednym wierszu, a wyjście jest dokładnie takie samo bez błędów i nie Nan.

Używając domyślnej wartości parametru z wcześniejszego parametru

W ES6 możesz ustawić parametr domyślny za pomocą parametru przed nim. Wynika to z faktu, że parametry są inicjowane od lewej do prawej. Powodując zastosowanie wcześniej zdefiniowanych parametrów w wartości domyślnej późniejszych parametrów.

Na przykład weź następujący fragment:

funkcja getsome (a, b = a * 2)
zwrócić * b;

konsola.log (getsome (2));

Funkcja getsome () weźmie 2 parametry, jeśli jest tylko jeden argument, to przypisuje drugi parametr dwukrotnie więcej niż wartość pierwszego argumentu.

Wyjście jest jak:

Ponieważ parametry są inicjowane od lewej do prawej, jeśli użyjemy późniejszego parametru jako wartości domyślnej wcześniejszego parametru, spowoduje to błąd.

Przykład weź następujący kod:

funkcja errorGen (a = b, b = 2)
zwrócić A + B;

konsola.log (errorGen ());

Powyższe będzie spełniło błąd, ponieważ próbuje uzyskać dostęp do parametru „B”, nawet przed jego zainicjowaniem.

Wyjście jest jak:

Korzystanie z funkcji jako wartości w parametrach domyślnych

W ES6 możesz nawet używać funkcji jako domyślnych wartości parametrów. Wypróbuj następujące wiersze kodu:

funkcja calc (a, b = getValue (a))
zwrócić A + B;

funkcja getValue (num)
return num * 2;

konsola.log (calc (2));

Jak widać, podajemy funkcję getValue (num) jako domyślny parametr dla B i przekazujemy parametr A w środku tego. getValue (num) mnoża argument przekazany do niego przez 2 i zwraca wartość. Dlatego kiedy przechodzimy 2 w środku calc () Funkcja jako pojedynczy parametr otrzymujemy następujące informacje:

To wszystko dla domyślnych parametrów w JavaScript.

Wniosek

W ES6 wprowadzono nową funkcję, która była domyślnymi parametrami. Aby uniknąć spełnienia błędu z powodu brakujących argumentów JavaScript, dodał tę funkcję. Domyślne parametry służą do umieszczenia domyślnej wartości argumentu w momencie pisania tej funkcji. Dowiedzieliśmy się o parametrach domyślnych, w jaki sposób możemy użyć domyślnych parametrów, aby uniknąć niekorzystnych wyników i dlaczego powinniśmy używać parametrów domyślnych jako zamiennika tradycyjnego/trywialnego podejścia wraz z jego przykładami.