Oder Betreiber nicht in der IF-Anweisung Node.js
Ursprünglich hatte ich eine route in node.js der erklärte dieser:
Wenn die erf.url === etwas oder so etwas, oder etwas, tun dies, else Tue das.
Das problem ist, dass der else-Anweisung wird nie ausgeführt, obwohl die if-Bedingung wurde nicht erfüllt. Nur die if-Anweisung ausgeführt, egal was
Habe ich zerlegt mein Weg zum minimum um herauszufinden, das problem. Ich es vereinfacht so:
app.get('/test', function(req,res) {
var category = 'stupid3';
if(category === 'stupid' || 'stupid2') {
res.end('yup');
} else {
res.end('nope');
}
});
Was mache ich falsch?
Warum nicht die else-Anweisung ausgeführt werden?
- javascript - Check variable Gleichheit gegen eine Liste von Werte - Stack Overflow
- Könnten Sie loszuwerden das problem vollständig mit
["stupid", "stupid2"].includes(category)
da sich die Bedingung (siehe die Antwort).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du verwendest es falsch.
Ihre version ist effektiv...
...also, da ein nicht-leerer string ist "truthy", die RS immer zu den
||
zu übergeben.die else-Anweisung wird niemals ausgeführt, da die if-Bedingung immer true zurück..
den zweiten Teil der Bedingung, D. H. nach der
||
Betreiber ist'stupid2
das ist ein Wert truthy