Bird
Raised Fist0
Javascriptprogramming~20 mins

Return values in Javascript - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
πŸŽ–οΈ
Return Values Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this function call?
Consider the following JavaScript function. What will be logged to the console when foo() is called?
Javascript
function foo() {
  return 5 + 3;
}
console.log(foo());
Aundefined
B8
CNaN
DError
Attempts:
2 left
πŸ’‘ Hint
Remember that the return statement sends a value back to where the function was called.
❓ Predict Output
intermediate
2:00remaining
What does this function return?
What is the value of result after calling bar()?
Javascript
function bar() {
  let x = 10;
  if (x > 5) {
    return x * 2;
  }
  return x / 2;
}
const result = bar();
A10
B5
Cundefined
D20
Attempts:
2 left
πŸ’‘ Hint
Check the condition inside the function and which return statement runs first.
❓ Predict Output
advanced
2:00remaining
What is the output of this nested function call?
What will be printed when this code runs?
Javascript
function outer() {
  function inner() {
    return 'Hello';
  }
  return inner();
}
console.log(outer());
AError
Bundefined
CHello
Douter
Attempts:
2 left
πŸ’‘ Hint
The outer function calls the inner function and returns its result.
❓ Predict Output
advanced
2:00remaining
What does this function return when no explicit return is given?
What is the output of this code?
Javascript
function noReturn() {
  let a = 5;
  let b = 10;
  let c = a + b;
}
console.log(noReturn());
Aundefined
BError
CNaN
D15
Attempts:
2 left
πŸ’‘ Hint
If a function does not return a value explicitly, what does it return by default?
❓ Predict Output
expert
2:00remaining
What is the output of this asynchronous function?
What will be logged to the console when this code runs?
Javascript
async function asyncFunc() {
  return 'Done';
}
asyncFunc().then(console.log);
ADone
BPromise { 'Done' }
Cundefined
DError
Attempts:
2 left
πŸ’‘ Hint
Remember that async functions return a Promise, but using .then() logs the resolved value.

Practice

(1/5)
1. What does the return statement do in a JavaScript function?
easy
A. It pauses the function but continues later.
B. It prints a value to the screen.
C. It sends a value back to where the function was called.
D. It creates a new variable inside the function.

Solution

  1. Step 1: Understand the purpose of return

    The return statement sends a value back to the place where the function was called.
  2. Step 2: Recognize function behavior after return

    After return, the function stops running and no further code inside it executes.
  3. Final Answer:

    It sends a value back to where the function was called. -> Option C
  4. Quick Check:

    Return sends value back [OK]
Hint: Return sends value back and stops function [OK]
Common Mistakes:
  • Thinking return prints output
  • Believing return pauses function
  • Confusing return with variable creation
2. Which of the following is the correct syntax to return the value 10 from a function?
easy
A. return 10;
B. return = 10;
C. return: 10;
D. return => 10;

Solution

  1. Step 1: Identify correct return syntax

    The correct syntax to return a value is return value; with a semicolon.
  2. Step 2: Check each option

    return 10; uses return 10; which is correct. return = 10; uses equals sign for assignment, invalid. return: 10; uses colon which is invalid. return => 10; uses arrow syntax incorrectly.
  3. Final Answer:

    return 10; -> Option A
  4. Quick Check:

    Correct return syntax ends with semicolon [OK]
Hint: Use 'return value;' with semicolon [OK]
Common Mistakes:
  • Using colon instead of semicolon
  • Confusing arrow functions with return syntax
  • Using = for assignment with return
3. What is the output of this code?
function add(a, b) {
  return a + b;
}
console.log(add(3, 4));
medium
A. 7
B. 34
C. undefined
D. NaN

Solution

  1. Step 1: Understand function behavior

    The function add takes two numbers and returns their sum using return a + b;.
  2. Step 2: Calculate the return value

    Calling add(3, 4) returns 3 + 4 = 7, which is printed by console.log.
  3. Final Answer:

    7 -> Option A
  4. Quick Check:

    Sum of 3 and 4 is 7 [OK]
Hint: Return adds numbers and prints result [OK]
Common Mistakes:
  • Concatenating numbers as strings
  • Forgetting to return value
  • Expecting undefined without return
4. Find the error in this function:
function greet(name) {
  console.log('Hello ' + name);
  return;
  console.log('Goodbye');
}
medium
A. The function syntax is invalid.
B. Missing return value causes error.
C. The function should not use console.log.
D. The function returns before printing 'Goodbye', so 'Goodbye' never shows.

Solution

  1. Step 1: Analyze function flow

    The function prints 'Hello ' plus the name, then hits return; which stops the function.
  2. Step 2: Check code after return

    Code after return (printing 'Goodbye') never runs, so 'Goodbye' is never printed.
  3. Final Answer:

    The function returns before printing 'Goodbye', so 'Goodbye' never shows. -> Option D
  4. Quick Check:

    Code after return is skipped [OK]
Hint: Code after return does not run [OK]
Common Mistakes:
  • Expecting code after return to run
  • Thinking missing return value causes error
  • Confusing console.log with return
5. You want a function that returns the first non-empty string from an array or returns 'No valid string' if none found. Which function correctly uses return values?
hard
A. function firstNonEmpty(arr) { arr.forEach(str => { if (str) return str; }); return 'No valid string'; }
B. function firstNonEmpty(arr) { for (const str of arr) { if (str) return str; } return 'No valid string'; }
C. function firstNonEmpty(arr) { let result = ''; arr.forEach(str => { if (str) result = str; }); return result || 'No valid string'; }
D. function firstNonEmpty(arr) { for (let i = 0; i < arr.length; i++) { if (arr[i] === '') return arr[i]; } return 'No valid string'; }

Solution

  1. Step 1: Understand the goal

    The function must return the first non-empty string or a default message if none found.
  2. Step 2: Evaluate each function

    function firstNonEmpty(arr) { for (const str of arr) { if (str) return str; } return 'No valid string'; } uses a for-of loop and returns immediately when a non-empty string is found, else returns default. This is correct.
    function firstNonEmpty(arr) { arr.forEach(str => { if (str) return str; }); return 'No valid string'; } uses forEach with return inside callback, which does not stop the outer function.
    function firstNonEmpty(arr) { let result = ''; arr.forEach(str => { if (str) result = str; }); return result || 'No valid string'; } collects last non-empty string but does not return first.
    function firstNonEmpty(arr) { for (let i = 0; i < arr.length; i++) { if (arr[i] === '') return arr[i]; } return 'No valid string'; } returns empty string if found, which is opposite of requirement.
  3. Final Answer:

    function firstNonEmpty(arr) { for (const str of arr) { if (str) return str; } return 'No valid string'; } -> Option B
  4. Quick Check:

    Return inside loop stops function immediately [OK]
Hint: Use return inside loop to exit early [OK]
Common Mistakes:
  • Using forEach with return expecting to exit function
  • Returning empty string instead of non-empty
  • Returning last instead of first non-empty string
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