Opcjonalne parametry funkcji w TypeScript

Można sprawić, aby funkcja przyjmowała zmienną liczbę parametrów. W tym celu trzeba zadeklarować część parametrów (lub wszystkie) jako opcjonalne.

Aby wskazać, że parametr jest opcjonalny, po jego nazwie należy postawić znak zapytania.

Zadeklarujmy w naszej funkcji nazwisko jako parametr opcjonalny:

typescriptfunction func(first: string, last?: string) {
  return first + ' ' + last;
}

Jeśli podczas wywołania funkcji opcjonalny parametr nie zostanie podany, przyjmie on wartość undefined. Zmodyfikujmy naszą funkcję z uwzględnieniem tego:

typescriptfunction func(first: string, last?: string) {
  if (last !== undefined) {
    return first + ' ' + last;
  } else {
    return first;
  }
}

Można uprościć, używając krótkiej formy sprawdzenia:

typescriptfunction func(first: string, last?: string) {
  if (last) {
    return first + ' ' + last;
  } else {
    return first;
  }
}

Skorzystajmy teraz z naszej funkcji. Wywołajmy ją z dwoma parametrami:

typescriptfunc('john', 'smit'); // zwróci 'john smit'

Wywołajmy ją z jednym parametrem:

typescriptfunc('john'); // zwróci 'john'
Задание 1

Stwórz funkcję, która przyjmuje parametrami dzień, miesiąc i rok, i zwraca dzień tygodnia odpowiadający tej dacie. Niech wszystkie trzy parametry będą opcjonalne. Jeśli jakiś parametr nie został przekazany, powinien przyjąć wartość odpowiadającą bieżącej dacie.