# Необязательные параметры функций в TypeScript

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

Чтобы указать, что параметр является необязательным, после его имени нужно поставить знак вопроса.

Давайте в нашей функции объявим фамилию необязательным параметром:

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

Если при вызове функции необязательный параметр не будет задан, он примет значение `undefined`. Давайте модифицируем нашу функцию с учетом этого:

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

Можно упростить, используя короткую форму проверки:

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

Давайте теперь воспользуемся нашей функцией. Вызовем ее с двумя параметрами:

`func('john', 'smit'); // вернет 'john smit'`

Вызовем ее с одним параметром:

`func('john'); // вернет 'john'`

Сделайте функцию, которая принимать параметрами день, месяц и год, и возвращать день недели, соответствующий этой дате. Пусть все три параметра будут не обязательными. Если какой-то параметр не передан, он должен принять значение, соответствующее текущей дате.

← →
↑