Bird
Raised Fist0
Typescriptprogramming~5 mins

Type alias for functions in Typescript

Choose your learning style10 modes available
Introduction

A type alias for functions helps you give a simple name to a function's shape. This makes your code easier to read and reuse.

When you want to describe what kind of function you expect as input or output.
When you have many functions with the same parameters and return type.
When you want to make your code clearer by naming function types.
When you want to avoid repeating the same function type everywhere.
When you want to check that functions follow a specific pattern.
Syntax
Typescript
type FunctionName = (param1: Type1, param2: Type2) => ReturnType;
Use type keyword to create a new name for a function type.
The arrow => shows the return type of the function.
Examples
This means Greet is a function type that takes a string and returns nothing.
Typescript
type Greet = (name: string) => void;
Add is a function type that takes two numbers and returns a number.
Typescript
type Add = (a: number, b: number) => number;
Compare is a function type that takes two numbers and returns true or false.
Typescript
type Compare = (x: number, y: number) => boolean;
Sample Program

We create a type alias Multiply for a function that takes two numbers and returns a number. Then we make a function multiply that matches this type. Finally, we print the result of multiplying 4 and 5.

Typescript
type Multiply = (x: number, y: number) => number;

const multiply: Multiply = (x, y) => x * y;

console.log(multiply(4, 5));
OutputSuccess
Important Notes

Type aliases do not create new functions, they just name the shape of functions.

You can use type aliases to make your code easier to understand and maintain.

Summary

Type alias for functions gives a simple name to a function's input and output types.

This helps avoid repeating function type definitions.

It makes your code clearer and easier to check for mistakes.

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