Оператор return завершує виконання функції та вказує значення, що буде повернене функцією.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Синтаксис
return [[expression]];
expression- Вираз, значення якого буде повернене. Якщо пропущений, повертається
undefined.
Опис
Коли у тілі функції використовується оператор return, виконання функції зупиняється. За наявності, надане значення повертається у інструкцію, що викликала функцію. Наприклад, наступна функція повертає квадрат свого аргументу x, де x є числом.
function square(x) {
return x * x;
}
var demo = square(3);
// demo дорівнюватиме 9
Якщо значення не вказане, повертається undefined.
Всі наведені оператори return переривають виконання функції:
return; return true; return false; return x; return x + y / 3;
Автоматична вставка крапки з комою
Оператор return підпадає під автоматичну вставку крапки з комою (ASI, automatic semicolon insertion). Символи кінця рядка недозволені між ключовим словом return та виразом.
return a + b;
перетворюється у:
return; a + b;
Консоль виведе попередження "unreachable code after return statement" (недосяжний код після оператора return).
Щоб уникнути цієї проблеми (запобігти ASI), використовуйте дужки:
return ( a + b );
Приклади
Переривання функції
Функція негайно зупиняється у точці виклику оператора return.
function counter() {
for (var count = 1; ; count++) { // нескінченний цикл
console.log(count + 'A'); // до 5
if (count === 5) {
return;
}
console.log(count + 'B'); // до 4
}
console.log(count + 'C'); // ніколи не виводиться
}
counter();
// Результат:
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A
Повернення результату функції
Дивіться також статтю про Замикання.
function magic() {
return function calc(x) { return x * 42; };
}
var answer = magic();
answer(1337); // 56154
Специфікації
| Специфікація | Статус | Коментар |
|---|---|---|
| ECMAScript 1st Edition (ECMA-262) | Standard | Початкове визначення. |
| ECMAScript 5.1 (ECMA-262) The definition of 'Return statement' in that specification. |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Return statement' in that specification. |
Standard | |
| ECMAScript (ECMA-262) The definition of 'Return statement' in that specification. |
Living Standard |
Сумісність з веб-переглядачами
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
return | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support 3 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 | nodejs Full support 0.1.100 |
Legend
- Full support
- Full support