Незадължителни параметри на функции в TypeScript

Може да се направи така, че функция да приема променлив брой параметри. За целта трябва да се декларират част от параметрите (или всички) като незадължителни.

За да се укаже, че параметър е незадължителен, след името му трябва да се постави въпросителен знак.

Нека в нашата функция декларираме фамилията като незадължителен параметър:

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

Ако при извикване на функцията незадължителният параметър не е зададен, той ще приеме стойност undefined. Нека модифицираме нашата функция, като вземем това предвид:

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

Може да се опрости, като се използва кратка форма на проверка:

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

Нека сега използваме нашата функция. Да я извикаме с два параметъра:

typescriptfunc('john', 'smit'); // връща 'john smit'

Да я извикаме с един параметър:

typescriptfunc('john'); // връща 'john'
Задание 1

Направете функция, която приема параметри ден, месец и година, и връща ден от седмицата, съответстващ на тази дата. Нека и трите параметъра да са незадължителни. Ако някой параметър не е подаден, той трябва да приеме стойност, съответстваща на текущата дата.