Перейти к содержанию

Параметры функции

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

Рассмотрим следующую функцию:

1
2
3
function foo(flagA: boolean, flagB: boolean) {
    // ваше потрясающее тело функции
}

С таким определением функции довольно легко вызвать ее неправильно, например foo(flagB, flagA), и компилятор вас никак не предупредит.

Вместо этого преобразуйте функцию для получения объекта:

1
2
3
4
function foo(config: { flagA: boolean; flagB: boolean }) {
    const { flagA, flagB } = config;
    // ваше потрясающее тело функции
}

Теперь вызовы функций будут выглядеть как foo({flagA, flagB}), что значительно упрощает обнаружение ошибок и проверку кода.

Примечание. Если ваша функция достаточно проста и вы пока не ожидаете её усложнений, не бойтесь игнорировать этот совет 🌹.

Комментарии