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.
Type alias for functions in Typescript
type FunctionName = (param1: Type1, param2: Type2) => ReturnType;
type keyword to create a new name for a function type.=> shows the return type of the function.Greet is a function type that takes a string and returns nothing.type Greet = (name: string) => void;Add is a function type that takes two numbers and returns a number.type Add = (a: number, b: number) => number;
Compare is a function type that takes two numbers and returns true or false.type Compare = (x: number, y: number) => boolean;
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.
type Multiply = (x: number, y: number) => number; const multiply: Multiply = (x, y) => x * y; console.log(multiply(4, 5));
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.
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
What is the main purpose of using a type alias for functions in TypeScript?
Solution
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.Step 2: Identify the purpose for functions
For functions, it means naming the input and output types so you don't repeat them everywhere.Final Answer:
To give a simple name to a function's input and output types -> Option DQuick Check:
Type alias simplifies function types = A [OK]
- Thinking type alias runs the function
- Confusing type alias with classes
- Believing it improves runtime speed
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 = ?
Solution
Step 1: Recall TypeScript function type syntax
Function types use (parameters) => returnType format, with parameter names and types.Step 2: Match the correct syntax
(input: string) => number uses (input: string) => number, which is correct syntax for a function type alias.Final Answer:
(input: string) => number -> Option CQuick Check:
Function type alias syntax = D [OK]
- Omitting parameter name in type alias
- Using 'function' keyword inside type alias
- Writing parameter type without parentheses
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'));Solution
Step 1: Check the type alias and function parameters
The type alias expects two numbers as input and returns a number.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.Final Answer:
Type error at compile time -> Option AQuick Check:
Type mismatch causes compile error = C [OK]
- Assuming strings convert automatically to numbers
- Expecting runtime error instead of compile error
- Thinking output is string concatenation
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;
};Solution
Step 1: Check the type alias return type
The alias Greet specifies the function returns void, meaning no value returned.Step 2: Check the function implementation
The function returns a string "Hello, " + name, which conflicts with void return type.Final Answer:
The function should not return a string because return type is void -> Option AQuick Check:
Return type void means no return value = B [OK]
- Returning a value when return type is void
- Ignoring return type mismatch
- Confusing void with undefined
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?
Solution
Step 1: Understand the function inputs
The function takes an array of numbers and a callback that returns boolean for each number.Step 2: Understand the function output
The function returns a new array of numbers filtered by the callback, so return type is number[].Step 3: Match the correct type alias
(arr: number[], callback: (num: number) => boolean) => number[] matches the input and output types correctly.Final Answer:
(arr: number[], callback: (num: number) => boolean) => number[] -> Option BQuick Check:
Filter function type = A [OK]
- Returning boolean[] instead of number[]
- Callback returning number instead of boolean
- Using void return type incorrectly
Ready to prove it?
Pass the test and this pattern moves unknown
