Коли функція отримує параметри, то їх необхідно передавати у чіткій послідовності. А коли параметрів багато, то можна заплутатись. Для цього найкраще обʼєднати ці параметри в один контейнер, і найкраще для цього підходить обʼєкт.
Патерн «Об'єкт параметрів» - це підхід до передачі параметрів у функції у вигляді об'єкта зі збереженими властивостями.
Цей патерн корисний, коли функція приймає багато параметрів або коли потрібно передати параметри в будь-якому порядку без зміни підпису функції.
functionmyFunc(currentUser){const{name,surname,age}=currentUser;console.log(`${name}${surname} is ${age} old!`);}constuser={name:"Олександр",surname:"Хомяк",age:30,};myFunc(user);
У цьому прикладі функція отримує обʼєкт, деструктуризує його і проводить маніпуляції з даними.
Коли викликається функція, то аргументом передається обʼєкт. Як бачимо в такому підході не важлива послідовність передачі аргументів, бо дані приходять одним обʼєктом.
Проводити деструктуризацію можна одразу в підписі функції в круглих дужках при оголошенні функції. Для цього у фігурних дужках вказуємо змінні які хочемо деструктуризувати.