Skip to main content
Практика завдань

Параметри типів утиліт у TypeScript

Parameters — це утилітний тип у TypeScript, який дозволяє визначити, які типи параметрів має функція. Він перетворює список аргументів функції на кортеж і допомагає уникнути дублювання коду.


Синтаксис

typescript
Parameters<T>
  • T — тип функції, параметри якої ви хочете витягти.
  • Результат — масив (кортеж) з типами всіх параметрів.

Приклад використання

Приклад 1. Витягування типів параметрів функції

typescript
function add(a: number, b: number): number { return a + b; } type AddParameters = Parameters<typeof add>; // AddParameters має тип: [number, number]

У цьому прикладі:

  • Функція add приймає два параметри типу number.
  • Parameters<typeof add> витягує типи цих параметрів як кортеж [number, number].

Приклад 2. Використання витягнутих типів в іншій функції

typescript
function multiply(a: number, b: number): number { return a * b; } function processOperation(...args: Parameters<typeof multiply>): number { // Тут args має тип [number, number] return multiply(...args); } const result = processOperation(2, 3); // Результат: 6
  • Функція processOperation використовує ...args з типом [number, number], витягнутим з функції multiply.
  • Це забезпечує узгодженість типів і зменшує дублювання коду.

Чому використовувати Parameters?

  1. Повторне використання типів: Уникає необхідності вручну оголошувати типи параметрів, особливо корисно для функцій з багатьма аргументами.
  2. Підтримка узгодженості: Якщо підпис функції змінюється, типи, витягнуті за допомогою Parameters, автоматично оновлюються.
  3. Зручність для обгорток: Дозволяє створювати обгортки навколо функцій, зберігаючи точну відповідність типів вхідних параметрів.

Обмеження

  • Перевантажені функції: Якщо функція має кілька перевантажень, Parameters візьме типи з першої підписи, що може не завжди відповідати очікуванням.
  • Універсальні функції: При роботі з універсальними функціями може знадобитися додаткова специфікація типу для коректного витягування параметрів.

Резюме

Parameters — це потужний утилітний тип, що дозволяє витягувати типи параметрів функції у вигляді кортежу. Це сприяє більш строгій типізації, зменшує дублювання і покращує підтримуваність коду, особливо коли функції використовуються в різних обгортках і утилітах.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.

Дочитали статтю?
Практика завдань