prostu szukam jakiegoś powodu, aby dlaczego ten jest nieprawidłowy:Dlaczego "rzut" jest nieprawidłowy w funkcji strzałki ES6?
() => throw 42;
wiem, że mogę dostać się wokół niego poprzez:
() => {throw 42};
prostu szukam jakiegoś powodu, aby dlaczego ten jest nieprawidłowy:Dlaczego "rzut" jest nieprawidłowy w funkcji strzałki ES6?
() => throw 42;
wiem, że mogę dostać się wokół niego poprzez:
() => {throw 42};
Jeśli nie używać blokady ({}
) w ciele arrow function, korpus musi być expression:
ArrowFunction:
ArrowParameters[no LineTerminator here] => ConciseBody
ConciseBody:
[lookahead ≠ { ] AssignmentExpression
{ FunctionBody }
Ale throw
to statement, a nie wyrażenie.
Teoretycznie
() => throw x;
odpowiada
() => { return throw x; }
który nie byłby ważne albo.
Nie można return throw
to skutecznie, co próbujesz zrobić:
function(){
return throw 42;
}