2015-08-20 10 views

Antwort

22

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.

2

Sie können nicht return throw das ist effektiv, was Sie zu tun versuchen:

function(){ 
    return throw 42; 
} 
Verwandte Themen