The return Statement
A function returns undefined by default. Use return to send a specific value back.
function square(n) {
return n * n;
}
const result = square(5);
console.log(result); // 25
Try it Yourself →
Early Return
Exit a function early when a condition is met. This avoids deep nesting.
function divide(a, b) {
if (b === 0) {
return "Cannot divide by zero";
}
return a / b;
}
console.log(divide(10, 2)); // 5
console.log(divide(10, 0)); // Cannot divide by zero
Returning Multiple Values
Return multiple values by packing them into an array or object.
function getMinMax(numbers) {
const min = Math.min(...numbers);
const max = Math.max(...numbers);
return { min, max };
}
const stats = getMinMax([3, 7, 1, 9, 4]);
console.log(stats.min); // 1
console.log(stats.max); // 9
Returning Functions (Higher-Order)
Functions that return other functions enable powerful patterns like factories and closures.
function createMultiplier(factor) {
return function(n) {
return n * factor;
};
}
const double = createMultiplier(2);
const triple = createMultiplier(3);
console.log(double(10)); // 20
console.log(triple(10)); // 30
Return and Exit
Code after a return statement does not execute.
function checkAge(age) {
if (age < 0) return "Invalid";
if (age < 18) return "Minor";
if (age < 65) return "Adult";
return "Senior";
}
console.log(checkAge(25)); // Adult
console.log(checkAge(-1)); // Invalid