Ich suche nur für einen Grund an, warum dies ist ungültig:Warum ist `throw` in einer ES6-Pfeilfunktion ungültig?
() => throw 42;
Ich weiß, dass ich um ihn über bekommen kann:
() => {throw 42};
Ich suche nur für einen Grund an, warum dies ist ungültig:Warum ist `throw` in einer ES6-Pfeilfunktion ungültig?
() => throw 42;
Ich weiß, dass ich um ihn über bekommen kann:
() => {throw 42};
Wenn Sie nicht mit einem Block ({}
) als Körper eines arrow function, muss der Körper eine expression sein:
ArrowFunction:
ArrowParameters[no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead ≠ { ] AssignmentExpression
{ FunctionBody }
Aber throw
ist ein statement, kein Ausdruck.
Theoretisch
() => throw x;
entspricht
() => { return throw x; }
die entweder nicht gültig sein würde.
Sie können nicht return throw
das ist effektiv, was Sie zu tun versuchen:
function(){
return throw 42;
}