A type alias for functions lets you give a name to a function type, making it easier to reuse and understand the function's input and output types.
Click to reveal answer
beginner
How do you define a type alias for a function that takes two numbers and returns a number?
You write: type Operation = (a: number, b: number) => number; This means Operation is a function type taking two numbers and returning a number.
Click to reveal answer
beginner
Why use a type alias for functions instead of writing the function type inline?
Using a type alias makes your code cleaner and easier to read. It also helps when you use the same function type in many places, so you only write it once.
Click to reveal answer
intermediate
Can a type alias for a function include optional parameters?
Yes! You can mark parameters as optional with a question mark. For example: type Greet = (name?: string) => void; means the function can be called with or without a name.
Click to reveal answer
intermediate
Show an example of a type alias for a function that returns a Promise of a string.
Example: type AsyncString = () => Promise<string>; This means the function returns a Promise that will give a string later.
Click to reveal answer
How do you define a type alias for a function that takes a string and returns a boolean?
Atype Check = string => boolean;
Btype Check = (input: string) => boolean;
Ctype Check = (string) => boolean;
Dtype Check = (input: string) boolean;
✗ Incorrect
Option B correctly defines a function type alias with parameter name and type, and return type.
What does this type alias mean? type Fn = () => void;
AA function that takes no arguments and returns nothing.
BA function that takes no arguments and returns a number.
CA function that takes one argument and returns void.
DA variable that stores a function.
✗ Incorrect
The empty parentheses mean no arguments, and 'void' means no return value.
Can a type alias for a function include multiple parameters?
AYes, by listing parameters inside parentheses.
BNo, only one parameter is allowed.
CYes, but only if they are all the same type.
DNo, functions can't have parameters in type aliases.
✗ Incorrect
You list parameters separated by commas inside parentheses with their types.
What is the benefit of using a type alias for functions?
AIt removes the need to type parameters.
BIt makes the function run faster.
CIt makes code easier to read and reuse.
DIt changes the function's behavior.
✗ Incorrect
Type aliases improve readability and reuse but do not affect runtime behavior.
How do you mark a parameter as optional in a function type alias?
AUse parentheses around the parameter.
BUse an exclamation mark after the parameter name.
CWrite 'optional' before the parameter.
DAdd a question mark after the parameter name.
✗ Incorrect
A question mark after the parameter name marks it as optional.
Explain how to create and use a type alias for a function that adds two numbers.
Think about naming the function type and how to call a function with that type.
You got /4 concepts.
Describe the advantages of using type aliases for functions in TypeScript projects.
Consider how type aliases help when many functions share the same shape.
You got /4 concepts.
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
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 D
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
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 C
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
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 A
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:
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
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 A
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
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.