AP
У меня есть форма с 7 полями. 3 из них обязательны, а 4 нет. Для каждого поля мне нужно передать параметр. Вопрос: как вы жонглируете опциональными параметрами?
Вариант 1:написать
method(Плюс: когда будешь вводить параметры, то IDE подскажет какой параметр надо ввести и его тип.
station: string,
amount: number,
date?: string,
drawType?: DrawType,
Минус: если тебе надо последний, то прийдется ставить
undefined предыдущим; в коде нужно писать if и проверку на undefined для каждого параметра.Вариант 2:Написать интерфейс для опциональных параметров и принимать в качестве аргумента один plain object
method(Плюс: передаешь только то что надо
station: string,
amount: number,
optional: OptionalParameters
{ date: '22-08-2019' }Минус: IDE показывает лишь, что аргумент имеет тип
OptionalParameters, что не очень удобно; в коде нужно писать if и проверку на undefined для каждого параметра.Ваш вариант?method(options: { foo: number, bar: string, baz?: Date, kek?: {hvatit?: string, uze: number}}) {
if (options.baz?.kek) ...
...
}

