JavaScript | Что такое внезапное завершение? (abrupt completion)

JavaScript | Что такое внезапное завершение? (abrupt completion)

 

Тип спецификации записи о завершении

Тип Завершения (Completion type) — это Запись, используемая для объяснения распространения значений и потока управления во время выполнения, например поведения операторов (break, continue, return и throw), которые выполняют нелокальную передачу управления.

Значения типа «Завершение» — это значения записей, поля которых определены в таблице 9. Такие значения называются «Записями Завершения» (Completion Records).

Field Name (Имя Поля) Value (Значение) Meaning (Смысл)
[[Type]] Одно из normal, break, continue, return, throw Тип произошедшего завершения.
[[Value]] любое значение языка ECMAScript или empty Значение, которое было произведено.
[[Target]] любая строка ECMAScript или empty Целевая метка для направленных передач управления.

Таблица 9: Поля записи о Завершении

Термин «внезапное завершение» (abrupt completion) относится к любому завершению со значением [[Type]], отличным от нормального normal.

 

Внезапное завершение - abrupt completion - JavaScript
Внезапное завершение — abrupt completion — JavaScript

 

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

Зарезервированные слова (ReservedWord)

Стандарт ECMAScript — Раздел «12.6.2 Keywords and Reserved Words» — https://tc39.es/ecma262/#prod-ReservedWord

Оператор continue

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

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

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

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

Алгоритмические обозначения

Условные обозначения