Необязательные параметры - используйте суффикс имени ?
, чтобы сделать параметр необязательным:
function doStuffAsGet(a: string, b: string, c: string, d?: string, e?: string) {
}
doStuffAsGet('a', 'b', 'c');
doStuffAsGet('a', 'b', 'c', 'd');
doStuffAsGet('a', 'b', 'c', 'd', 'e');
Вы можете сделать a, b и c обязательными, но оставьте все необязательные (вы выбираете, что вы должны иметь, используя ?
в зависимости от ситуации).
Вы также можете использовать значения по умолчанию - укажите значение по умолчанию с помощью оператора =
:
function doStuffAsGet(a: string, b: string, c: string, d: string = '', e: string = '') {
}
doStuffAsGet('a', 'b', 'c');
doStuffAsGet('a', 'b', 'c', 'd');
doStuffAsGet('a', 'b', 'c', 'd', 'e');
И остальные параметры, где используется префикс имени ...
. Это собирает все последующие аргументы в массив.
function doStuffAsGet(a: string, ...others: string[]) {
}
doStuffAsGet('a', 'b', 'c');
doStuffAsGet('a', 'b', 'c', 'd');
doStuffAsGet('a', 'b', 'c', 'd', 'e');
doStuffAsGet('a', 'b', 'c', 'd', 'e', 'f');
Обратите внимание, что в приведенном выше примере необходимо a
, поэтому нельзя вызывать функцию с нулевыми аргументами. Опять же, вы выбираете, что нужно, а что нет.
Их комбинация может дать вам то, что вам нужно.