Kurzschluss mit einer return-Anweisung

8

Soweit ich verstehe, Kurzschluss mit dem logischen UND & amp; & amp; Der Operator funktioniert wie folgt:

Angenommen, ich habe die Ausdrücke a und b , dann ist a && b dasselbe wie a ? b : a seit

Wenn a truthy ist, wird das Ergebnis b und sein Wenn a falsy ist, wird das Ergebnis a sein (ohne auch nur b aufzulösen)

Das ist der Grund, warum der folgende (Demo-) Code einen SyntaxError auslöst:

%Vor%

Gibt es eine Möglichkeit, mit einer Return-Anweisung einen Kurzschluss zu erzeugen?

    
Danield 15.12.2015, 14:51
quelle

2 Antworten

11

Der Operator && binary benötigt beide Teile Ausdrücke .

return something ist eine Anweisung, aber kein Ausdruck (es erzeugt keinen Wert, da ein Wert nicht nützlich wäre, wenn die Funktion endet).

Verwenden Sie einfach

%Vor%

mit dem zusätzlichen Vorteil eines leichter lesbaren Codes.

Lesen Sie mehr:

Denys Séguret 15.12.2015, 14:54
quelle
2

Nein, return ist eine Anweisung, Sie können sie nicht als Teil eines AND-Ausdrucks verwenden.

Sie können Ihren Code in eine einzige return -Anweisung transformieren, wenn Sie das aus irgendeinem Grund benötigen:

%Vor%

ist (mehr oder weniger) äquivalent zu

%Vor%

Natürlich sollten Sie in jedem Code, den Sie manuell schreiben und mit Ihren Augen lesen, nur eine if -Anweisung sowieso.

    
Bergi 17.12.2015 04:19
quelle

Tags und Links