webentwicklung-frage-antwort-db.com.de

Überprüfen Sie auf falsch

Gibt es einen besseren Weg, dies zu tun?

if(borrar() !== false)
{
    alert('tatatata bum bum bum prapra');
}
return false;
22
Alex

Wenn Sie nach "false" und "alert" suchen möchten, wenn nicht, dann ist "nein" nicht vorhanden.

Wenn Sie if(val) verwenden, wird alles, was als 'true' ausgewertet wird, wie eine nicht leere Zeichenfolge, ebenfalls übergeben. Es hängt also davon ab, wie streng Ihr Kriterium ist. Die Verwendung von === und !== wird im Allgemeinen als bewährte Methode angesehen, um zu vermeiden, dass versehentlich wahrheitsgemäße oder falsche Bedingungen durch implizite boolesche Tests von Javascript ermittelt werden.

21
Phil H

Wenn Sie eine explizite Prüfung auf false (und nicht undefined, null und andere, von denen ich annehme, dass Sie! == anstelle von! = Verwenden) möchten, müssen Sie das ja verwenden. Dies ist auch bei etwas geringerem Platzbedarf der Fall

if(borrar() !== !1)
6
GillesC

Prüfen, ob etwas nicht falsch ist. Es stimmt also, nur wenn Sie etwas tun, das Quantenphysik ist.

if(!(borrar() === false))

oder

if(borrar() === true)
3
André Silva

Sie können etwas einfacher verwenden :)

if(!var){
  console.log('var is false'); 
}
2
Dean

Wenn Sie möchten, dass es explizit überprüft, ob es nicht falsch ist (Boolescher Wert), müssen Sie verwenden

if (borrar ()! == false)

Aber in Javascript verwenden wir normalerweise falsch und wahr und Sie könnten verwenden

if (! borrar ())

die Werte 0, '', null, undefined, null und NaN generieren jedoch keine Warnung

Die folgenden Werte sind immer falsch: false, 0 (Null), '' oder "" (leere Zeichenfolge), null, undefiniert, NaN

Alles andere ist wahr. Dazu gehören: '0' (eine Zeichenfolge mit einer einzelnen Null), 'false' (eine Zeichenfolge mit dem Text 'false'), [] (ein leeres Array), {} (ein leeres Objekt), function () {} (eine "leere" Funktion)

Quelle https://www.sitepoint.com/javascript-truthy-falsy/

Verwenden Sie als zusätzlichen Vorteil für die Konvertierung eines Werts in true oder false (Boolescher Typ) ein doppeltes Ausrufezeichen.

!![] === true
!!'false' === true
!!false === false
!!undefined === false
0
Griffin

So was?

if(borrar())
{
   //do something
}

Wenn borrar() true zurückgibt, tun Sie etwas (wenn es nicht false ist).

0
Mark Walters