Avatar ·

Was bedeutet !! (doppeltes Ausrufezeichen) in JavaScript?

Hallo zusammen! Ich habe gerade angefangen, JavaScript zu lernen, und bin in fremdem Code auf eine seltsame Konstruktion gestoßen. Da stand so etwas wie: ```javascript let isActive = !!someValue; ``` Ich verstehe, dass ein einzelnes Ausrufezeichen `!` das logische "NICHT" ist, das den Wert umkehrt (aus `false` `true` macht und umgekehrt). Aber warum schreibt man zwei Ausrufezeichen hintereinander? Ist das nicht dasselbe wie einfach `!(!someValue)` zu schreiben? Oder ist das ein spezieller Operator, den ich nicht kenne? Ich habe versucht, in der Browser-Konsole herumzuspielen: ```javascript console.log(!!"hello"); // true console.log(!!0); // false console.log(!!""); // false console.log(!!null); // false console.log(!!undefined); // false console.log(!!42); // true ``` Die Ergebnisse sind irgendwie...