Wartości domyślne argumentów w funkcji
Spójrz na zapis:
function typeofweb (
{ a = 1 } = {},
{ b } = { b: 2 },
) {
console.log(a, b);
}
typeofweb(); // 1 2
typeofweb({}); // 1 2
typeofweb({}, {}); // 1 undefined
Funkcja posiada 2 argumenty (arg 1, arg 2), w przypadku gdy arg 1 jest pusty, to domyślną wartością jest pusty obiekt, w którym wykonujemy destrukturyzację i przypisujemy 1 do a – czyli a zawsze mamy zdefiniowany, chyba, ze w przekazywanym argumencie bedzie obiekt ze zdefiniowanym a = undefined, w argumencie arg 2 domyślną wartością dla braku argumentu jest obiekt { b: 2}, potem destrukturyzujemy b, w przypadku przekazania jakiegokolwiek argumentu, jeśli nie będziemy mieli zdefiniowanego b – dostajemy undefined.
Przykład z książki „TypeScript na poważnie” Michała Miszczyszyna

Najnowsze komentarze