> For the complete documentation index, see [llms.txt](https://artfulbits-se.gitbook.io/typescript/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://artfulbits-se.gitbook.io/typescript/main-1/functionparameters.md).

# Function parameters

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

Якщо у вас є функція, яка приймає занадто багато параметрів або параметрів того самого типу, тоді ви можете змінити функцію, щоб замість цього приймати об’єкт.

Розглянемо таку функцію:

```ts
function foo(flagA: boolean, flagB: boolean) {
  // тіло функції
}
```

З таким визначенням функції досить легко викликати її неправильно, наприклад. `foo(flagB, flagA)` та ви не отримаєте допомогу компілятора в цьому випадку.

Краще змінити функцію, щоб вона отримувала обʼєкт:

```ts
function foo(config: {flagA: boolean, flagB: boolean}) {
  const {flagA, flagB} = config;
  // тіло функції
}
```

Зараз виклик функції став таким `foo({flagA, flagB})` що набогато краще для запобігання помилок та код-ревью.

> Примітка: якщо ваша функція досить проста і ви не очікуєте великого відтоку, не соромтеся ігнорувати цю пораду 🌹.
