Bird
Raised Fist0
Typescriptprogramming~3 mins

Why Type alias for functions in Typescript? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if you could rename a complex function type once and fix it everywhere instantly?

The Scenario

Imagine you have to write the same function type signature over and over in your code, like a recipe you keep copying by hand every time you cook.

The Problem

Writing the full function type each time is slow and easy to mess up. If you want to change the function shape, you must find and fix every copy, which wastes time and causes bugs.

The Solution

Type aliases let you give a name to a function type once. Then you just use that name everywhere. It's like having a shortcut or a label for your recipe, so you never rewrite it and can update it in one place.

Before vs After
✗ Before
(x: number, y: number) => number

let add: (x: number, y: number) => number;
✓ After
type BinaryOp = (x: number, y: number) => number;

let add: BinaryOp;
What It Enables

It makes your code cleaner, easier to read, and faster to update when function types change.

Real Life Example

When building a calculator app, you can define a type alias for all math operations, so adding new operations is simple and consistent.

Key Takeaways

Type aliases name function types to avoid repetition.

They reduce errors by centralizing type definitions.

They make code easier to maintain and understand.

Practice

(1/5)
1.

What is the main purpose of using a type alias for functions in TypeScript?

easy
A. To make the function run faster
B. To execute the function automatically
C. To convert a function into a class
D. To give a simple name to a function's input and output types

Solution

  1. Step 1: Understand what a type alias does

    A type alias gives a new name to a type, including function types, making code easier to read.
  2. Step 2: Identify the purpose for functions

    For functions, it means naming the input and output types so you don't repeat them everywhere.
  3. Final Answer:

    To give a simple name to a function's input and output types -> Option D
  4. Quick Check:

    Type alias simplifies function types = A [OK]
Hint: Type alias names function types to avoid repetition [OK]
Common Mistakes:
  • Thinking type alias runs the function
  • Confusing type alias with classes
  • Believing it improves runtime speed
2.

Which of the following is the correct syntax to create a type alias MyFunc for a function that takes a string and returns a number?

type MyFunc = ?
easy
A. string => number
B. function(string): number
C. (input: string) => number
D. (string) => number

Solution

  1. Step 1: Recall TypeScript function type syntax

    Function types use (parameters) => returnType format, with parameter names and types.
  2. Step 2: Match the correct syntax

    (input: string) => number uses (input: string) => number, which is correct syntax for a function type alias.
  3. Final Answer:

    (input: string) => number -> Option C
  4. Quick Check:

    Function type alias syntax = D [OK]
Hint: Use (param: type) => returnType for function type alias [OK]
Common Mistakes:
  • Omitting parameter name in type alias
  • Using 'function' keyword inside type alias
  • Writing parameter type without parentheses
3.

Given the type alias and function below, what is the output of console.log(add('5', '10'))?

type AddFunc = (a: number, b: number) => number;

const add: AddFunc = (a, b) => a + b;

console.log(add('5', '10'));
medium
A. Type error at compile time
B. 510
C. 15
D. NaN

Solution

  1. Step 1: Check the type alias and function parameters

    The type alias expects two numbers as input and returns a number.
  2. Step 2: Analyze the function call with string arguments

    Calling add('5', '10') passes strings, which conflicts with the expected number types, causing a compile-time error.
  3. Final Answer:

    Type error at compile time -> Option A
  4. Quick Check:

    Type mismatch causes compile error = C [OK]
Hint: Check argument types match alias parameters to avoid errors [OK]
Common Mistakes:
  • Assuming strings convert automatically to numbers
  • Expecting runtime error instead of compile error
  • Thinking output is string concatenation
4.

Identify the error in this code using a type alias for a function:

type Greet = (name: string) => void;

const greet: Greet = (name) => {
  return "Hello, " + name;
};
medium
A. The function should not return a string because return type is void
B. The parameter name is missing
C. The type alias syntax is incorrect
D. The function should return a number

Solution

  1. Step 1: Check the type alias return type

    The alias Greet specifies the function returns void, meaning no value returned.
  2. Step 2: Check the function implementation

    The function returns a string "Hello, " + name, which conflicts with void return type.
  3. Final Answer:

    The function should not return a string because return type is void -> Option A
  4. Quick Check:

    Return type void means no return value = B [OK]
Hint: Void return means no value should be returned [OK]
Common Mistakes:
  • Returning a value when return type is void
  • Ignoring return type mismatch
  • Confusing void with undefined
5.

You want to create a type alias FilterFunc for a function that takes an array of numbers and a callback function. The callback takes a number and returns a boolean. The FilterFunc returns a new array of numbers filtered by the callback. Which is the correct type alias?

hard
A. (arr: number[], callback: (num: number) => number) => boolean[]
B. (arr: number[], callback: (num: number) => boolean) => number[]
C. (arr: number[], callback: (num: number) => boolean) => boolean[]
D. (arr: number[], callback: (num: number) => boolean) => void

Solution

  1. Step 1: Understand the function inputs

    The function takes an array of numbers and a callback that returns boolean for each number.
  2. Step 2: Understand the function output

    The function returns a new array of numbers filtered by the callback, so return type is number[].
  3. Step 3: Match the correct type alias

    (arr: number[], callback: (num: number) => boolean) => number[] matches the input and output types correctly.
  4. Final Answer:

    (arr: number[], callback: (num: number) => boolean) => number[] -> Option B
  5. Quick Check:

    Filter function type = A [OK]
Hint: Filter returns array of same type, callback returns boolean [OK]
Common Mistakes:
  • Returning boolean[] instead of number[]
  • Callback returning number instead of boolean
  • Using void return type incorrectly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard