JavaScript: Doppelte Negation für Boolean-Typecast
In diesem Beitrag zeige ich euch, was es in JavaScript mit der doppelten Anwendung des Not-Operators !
auf sich hat bzw. wofür man diese doppelte Negation eigentlich verwenden kann.
Im Allgemeinen, so wie ich es bisher am häufigsten gesehen habe, wird es häufig als Kurzschreibweise eingesetzt, um zu überprüfen, ob eine Variable ungleich vom Typ undefined
oder null
ist.
Einfache Negation
Der Not-Operator macht letztendlich nichts anderes als einen Wert in einen Boolean-Datentyp zu konvertieren, der dem Gegenteil des logischen Werts unseres eigentlichen Werts entspricht.
Ein paar Zeilen Code verdeutlichen dieses vielleicht etwas besser:
Dabei gibt der Not-Operator in den folgenden Fällen immer true
zurück:
- 0
- "" (leerer String)
- undefined
- null
- NaN
- false
Das können wir uns natürlich zu Nutze machen und doppelt negieren.
Doppelte Negation
Wenn wir also sicherstellen wollen, dass eine Variable einen Wert enthält, der zu einem boolschen true
(logisches Wahr) konvertiert werden kann, dann brauchen wir nur den Not-Operator doppelt auf die Variable anwenden:
In unserem Beispiel würde der if
-Block nicht ausgeführt werden, weil die Variable testVal
vom Typ undefined
ist und die doppelte Negation false
zurückliefert.
Diese doppelte Negation konvertiert unseren Wert also einfach nur in einen Boolean-Datentyp, so als ob wir direkt Boolean()
anwenden würden:
Fazit
Mit der doppelten Negation bzw. der doppelten Anwendung des Not-Operators !
(im englischsprachigen teilweise auch als "Double Negation Trick" bezeichnet) haben wir eine Kurzschreibweise zu Hand mit der wir einen Wert in den Datentyp Boolean konvertieren können.
- 29. Juni 2012
ursprüngliche Veröffentlichung in meinem ehemaligen Blog "Smart-Webentwicklung"