Соответствует ли бросание функции стандарту ES5 / ES6? - PullRequest
0 голосов
/ 26 августа 2018

Соответствует ли следующий код стандартам (строго / небрежно)?Он действует аналогично IIFE, но, возможно, читаемость улучшилась ИМХО:

try {
    throw function (){}
} catch(foo) {
    foo();
}

Я не знаю о выступлениях.

1 Ответ

0 голосов
/ 26 августа 2018

Да.Вы можете бросить любое значение, включая ссылку на функцию.То, что вы бросаете, не обязательно должно быть ошибкой (хотя это лучшая практика).

В спецификации вы можете видеть, что throw принимает любое выражение , что может привести к любому значению, и catch точно предоставит выброшенное значение.

...