This page was translated from English by the community.Learn more and join the MDN Web Docs community.
return
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
Операторreturn завершает выполнение текущей функции и возвращает её значение.
In this article
Интерактивный пример
function getRectArea(width, height) { if (width > 0 && height > 0) { return width * height; } return 0;}console.log(getRectArea(3, 4));// Expected output: 12console.log(getRectArea(-3, 4));// Expected output: 0Синтаксис
return [[выражение]];
выражениеВыражение, значение которого будет возвращено. Если не указано, вместо него возвращается
undefined.
Описание
При вызове оператораreturn в функции её выполнение прекращается. Указанное значение возвращается в место вызова функции. Например, приведённая ниже функция возвращает возведённое в квадрат значение своего аргумента,x (гдеx – это число):
function square(x) { return x * x;}var demo = square(3);// значение demo будет равняться 9Если возвращаемое значение не указано, вместо него возвращаетсяundefined.
Следующие выражения всегда прерывают выполнение функции:
return;return true;return false;return x;return x + y / 3;Автоматическая расстановка точек с запятыми
На выражениеreturn влияетавтоматическая расстановка точек с запятыми (ASI). Разрыв строки не допускается между ключевым словомreturn и выражением.
returna + b;трансформируется ASI в:
return;a + b;В консоли появится предупреждение "unreachable code after return statement".
Примечание:Начиная с Gecko 40, предупреждение в консоли появляется, если обнаружен недостижимый код после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(x) { return function calc(x) { return x * 42; };}var answer = magic();answer(1337); // 56154Спецификации
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-return-statement> |