是否調用bar
尾部位置?Try/catch和尾部位置(ES6)
function foo() {
try { return bar() }
catch(err) { <do-something> }
}
我試圖在ES6中找到答案,但沒有找到我正在尋找的東西。
UPDATE
菲利克斯克林點到標準的這一部分:
TryStatement : try Block Catch
1. Return HasProductionInTailPosition of Catch with argument nonterminal.
TryStatement: tryBlockFinally
TryStatement: tryBlockCatchFinally
1. Return HasProductionInTailPosition of Finally with argument nonterminal.
Catch : catch (CatchParameter) Block
1. Return HasProductionInTailPosition of Block with argument nonterminal.
這意味着,在示例中的呼叫至bar
不在末尾位置。
看起來不像它:https://www.ecma-international.org/ecma-262/7.0/#sec-statement-rules。但我可能是錯的。 –
感謝您的指針。 – soegaard
海事組織的答案不屬於這個問題。 –