Skip to content
masterclassBuddyTech Buzz5 fresh blogs · 5:00 AM IST

TypeScript · Type Alias

Parameters

Parameters<Type> creates a tuple containing the parameter types of a function type. It is useful for reusing or transforming a function's argument list without manually duplicating it.

Since
3.1

How it works

Parameters<Type> evaluates a function type's parameter list as a tuple. Applying it to a function declaration via typeof preserves the parameter names and optionality represented by that function type; for overloaded functions, TypeScript uses the last signature.

Syntax

Parameters<Type>

Parameters

NameTypeDescription
Typefunction typeA function type whose parameter types should be extracted.

Returns

A tuple containing the parameter types of Type.

Key points

  • Parameters converts a function type's parameter types into a tuple type.
  • No import is needed because Parameters is a globally available utility type.
  • The utility was introduced in TypeScript 3.1.
  • For an overloaded function, the result comes from its last signature.

Common mistakes

  • With overloads, Parameters uses only the final overload signature, so earlier overload parameter lists are not represented.

Example: Extracting a function's parameter tuple

function greet(name: string, age?: number): string {
  return age === undefined ? `Hello, ${name}` : `Hello, ${name}, age ${age}`;
}

type GreetParameters = Parameters<typeof greet>;

const args: GreetParameters = ["Ada", 36];
greet(...args);

The tuple type captures the parameter list of greet, including its optional second parameter.

When to use it

Typed argument forwarding

Derive the argument tuple for a wrapper or forwarding function.

Reusable test and adapter types

Keep mock, spy, or adapter arguments synchronized with an existing function.

Function type transformations

Build APIs that transform a function while preserving its parameter list.

  • ReturnType
  • ConstructorParameters
  • InstanceType
  • Inferring Within Conditional Types

Source: Documentation - Utility Types - TypeScript. Checked 2026-10-15.