Bird
Raised Fist0
Typescriptprogramming~20 mins

Void type for functions in Typescript - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Void Type Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of a void function with console.log
What is the output of the following TypeScript code?
Typescript
function greet(): void {
  console.log('Hello!');
}

const result = greet();
console.log(result);
Aundefined\nHello!
BHello!\nvoid
CHello!\nundefined
DHello!
Attempts:
2 left
💡 Hint
Remember that functions with void return type do not return a value, so the result is undefined.
🧠 Conceptual
intermediate
1:30remaining
Understanding void return type in TypeScript
Which statement about the void return type in TypeScript functions is correct?
AA function with void return type can return undefined or no value at all.
BA function with void return type returns the string 'void' by default.
CA function with void return type must always return null explicitly.
DA function with void return type cannot return any value, not even undefined.
Attempts:
2 left
💡 Hint
Think about what happens when you omit a return statement in a void function.
🔧 Debug
advanced
1:30remaining
Identify the error with void function return
What error will this TypeScript code produce?
Typescript
function calculate(): void {
  return 5;
}
AType 'number' is not assignable to type 'void'.
BNo error, function returns 5 correctly.
CSyntaxError: Unexpected return value.
DRuntime error: Cannot return value from void function.
Attempts:
2 left
💡 Hint
Check the return type and what is being returned.
❓ Predict Output
advanced
2:00remaining
Void function with callback parameter
What will be the output of this TypeScript code?
Typescript
function process(callback: () => void): void {
  console.log('Start');
  callback();
  console.log('End');
}

process(() => console.log('Inside callback'));
AInside callback\nStart\nEnd
BStart\nInside callback\nEnd
CStart\nEnd\nInside callback
DStart\nEnd
Attempts:
2 left
💡 Hint
The callback is called between the two console.log statements.
🧠 Conceptual
expert
2:00remaining
Void type and async functions in TypeScript
Which statement about async functions with void return type in TypeScript is true?
ADeclaring async functions with void return type causes a runtime error.
BAsync functions cannot have void return type because they always return a Promise.
CAsync functions with void return type return undefined immediately.
DAn async function declared with void return type actually returns Promise<void>.
Attempts:
2 left
💡 Hint
Think about what async functions return in TypeScript.

Practice

(1/5)
1. What does the void type mean when used as a function's return type in TypeScript?
easy
A. The function returns a number.
B. The function returns a string.
C. The function does not return any value.
D. The function returns an object.

Solution

  1. Step 1: Understand the meaning of void in TypeScript

    The void type indicates that a function does not return any value.
  2. Step 2: Compare with other return types

    Other return types like number, string, or object mean the function returns those specific types, but void means no return value.
  3. Final Answer:

    The function does not return any value. -> Option C
  4. Quick Check:

    void means no return value [OK]
Hint: Void means no return value from the function [OK]
Common Mistakes:
  • Thinking void means returning undefined explicitly
  • Confusing void with any or unknown types
  • Assuming void functions return null
2. Which of the following is the correct syntax to declare a function named logMessage that returns void in TypeScript?
easy
A. function logMessage(): void { console.log('Hello'); }
B. function logMessage(): string { console.log('Hello'); }
C. function logMessage(): number { console.log('Hello'); }
D. function logMessage() { return 'Hello'; }

Solution

  1. Step 1: Check the function return type declaration

    The function logMessage should explicitly declare : void to indicate no return value.
  2. Step 2: Verify the function body matches the return type

    The function only logs a message and does not return anything, so : void is correct.
  3. Final Answer:

    function logMessage(): void { console.log('Hello'); } -> Option A
  4. Quick Check:

    Use : void for no return value [OK]
Hint: Void functions have : void after parentheses [OK]
Common Mistakes:
  • Omitting the return type annotation
  • Using wrong return types like string or number
  • Returning a value inside a void function
3. What will be the output of this TypeScript code?
function printSum(a: number, b: number): void {
  console.log(a + b);
}

const result = printSum(3, 4);
console.log(result);
medium
A. 7 and then undefined
B. 7 and then 7
C. undefined and then 7
D. undefined and then undefined

Solution

  1. Step 1: Understand the function behavior

    The function printSum logs the sum of a and b but returns nothing (void).
  2. Step 2: Analyze the output of the console logs

    Calling printSum(3, 4) prints 7. The variable result stores the return value, which is undefined because the function returns void. Then console.log(result) prints undefined.
  3. Final Answer:

    7 and then undefined -> Option A
  4. Quick Check:

    Void functions return undefined [OK]
Hint: Void functions return undefined, not a value [OK]
Common Mistakes:
  • Assuming void functions return the logged value
  • Expecting the function to return the sum
  • Confusing console output with return value
4. Identify the error in this TypeScript function declaration:
function showMessage(): void {
  return 'Hello';
}
medium
A. No error, this is valid
B. Missing return type annotation
C. Function should not have a body
D. Function returns a string but declared as void

Solution

  1. Step 1: Check the declared return type

    The function declares its return type as void, meaning it should not return any value.
  2. Step 2: Analyze the return statement

    The function returns the string 'Hello', which conflicts with the void return type.
  3. Final Answer:

    Function returns a string but declared as void -> Option D
  4. Quick Check:

    Void functions must not return a value [OK]
Hint: Void means no return; returning value causes error [OK]
Common Mistakes:
  • Returning a value inside a void function
  • Ignoring TypeScript errors on return type mismatch
  • Confusing void with undefined return
5. You want to write a function processData that logs a message and optionally returns a boolean indicating success. How should you declare the return type to use void correctly?
hard
A. function processData(flag: boolean): string | boolean { if(flag) return true; else console.log('No flag'); }
B. function processData(flag: boolean): boolean | void { if(flag) return true; else console.log('No flag'); }
C. function processData(flag: boolean): void { if(flag) return true; else console.log('No flag'); }
D. function processData(flag: boolean): boolean { if(flag) return true; else console.log('No flag'); }

Solution

  1. Step 1: Understand the function behavior

    The function sometimes returns true (a boolean) and sometimes only logs a message without returning anything.
  2. Step 2: Choose the correct return type

    Since the function can return a boolean or nothing, the return type should be a union: boolean | void. This allows both returning a boolean and returning nothing.
  3. Final Answer:

    function processData(flag: boolean): boolean | void { if(flag) return true; else console.log('No flag'); } -> Option B
  4. Quick Check:

    Use union type boolean | void for optional return [OK]
Hint: Use union type boolean | void for optional return values [OK]
Common Mistakes:
  • Using only void when function sometimes returns a value
  • Using only boolean and missing void case
  • Returning value in void-only function causing errors
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