是否抛出符合ES5 / ES6标准的功能?

时间:2018-08-26 06:09:10

标签: javascript function throw iife

以下代码是否符合标准(严格/草率)?它的作用类似于IIFE,但可读性可能有所改进,恕我直言:

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

我对表演一无所知。

1 个答案:

答案 0 :(得分:2)

是的。您可以抛出任何值,包括函数引用。您抛出的错误不一定是错误(尽管这是最佳做法)。

您可以在规范中看到throw接受任何Expression,这可以产生任何值,而catch则忠实地提供了抛出的值。