return
Оператор 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 |
Сумісність з веб-переглядачами
BCD tables only load in the browser