Паттерн "обʼєкт параметрів"

Коли функція отримує параметри, то їх необхідно передавати у чіткій послідовності. А коли параметрів багато, то можна заплутатись. Для цього найкраще обʼєднати ці параметри в один контейнер, і найкраще для цього підходить обʼєкт.

Патерн «Об'єкт параметрів» - це підхід до передачі параметрів у функції у вигляді об'єкта зі збереженими властивостями.

Цей патерн корисний, коли функція приймає багато параметрів або коли потрібно передати параметри в будь-якому порядку без зміни підпису функції.

function myFunc(currentUser) {
  const { name, surname, age } = currentUser;
  console.log(`${name} ${surname} is ${age} old!`);
}

const user = {
  name: "Олександр",
  surname: "Хомяк",
  age: 30,
};

myFunc(user);

У цьому прикладі функція отримує обʼєкт, деструктуризує його і проводить маніпуляції з даними.

Коли викликається функція, то аргументом передається обʼєкт. Як бачимо в такому підході не важлива послідовність передачі аргументів, бо дані приходять одним обʼєктом.

Як варіант передачі аргументу може виглядати так:

myFunc({
  name: "Олександр",
  surname: "Хомяк",
  age: 30,
});

Проводити деструктуризацію можна одразу в підписі функції в круглих дужках при оголошенні функції. Для цього у фігурних дужках вказуємо змінні які хочемо деструктуризувати.

function myFunc({ name, surname, age }) {
  console.log(`${name} ${surname} is ${age} old!`);
}

Last updated