ECMAScript | Оператор return

ECMAScript | Оператор return

Синтаксис оператора return

ReturnStatement [Yield, Await] :

return ;

return [не LineTerminator здесь] Expression [+In, ?Yield, ?Await] ;

 

Примечание

Оператор return заставляет функцию прекращать выполнение и, в большинстве случаев, возвращает значение вызывающей стороне. Если выражение Expression не указано, возвращаемое значение является undefined (не определено). В противном случае возвращаемое значение является значением Expression. Оператор return может не возвращать значение вызывающей стороне в зависимости от окружающего контекста. Например, в блоке try запись завершения оператора return может быть заменена другой записью завершения во время оценки блока finally.

 

14.10.1 Семантика времени выполнения: оценка

ReturnStatement : return ;

1. Вернуть Completion { [[Type]]: return, [[Value]]: undefined, [[Target]]: empty }.

ReturnStatement : return Expression ;

1. Пусть exprRef будет результатом вычисления Expression. 
2. Пусть exprValue будет ? GetValue(exprRef). 
3. Если ! GetGeneratorKind() является async, установить exprValue на ? Await(exprValue). 
4. Вернуть Completion { [[Type]]: return, [[Value]]: exprValue, [[Target]]: empty }.

 

Видео на тему «Функция возвращает»

 

Информационные ссылки

Стандарт ECMAScript — Раздел «14.10 The return Statement» — https://tc39.es/ecma262/#sec-return-statement