Avatar ·

Was macht der Operator !! (doppeltes Ausrufezeichen) in JavaScript?

Hallo Kollegen! Ich bin neu in JavaScript und bin auf seltsamen Code gestoßen. In einem Projekt habe ich folgende Konstruktion gesehen:\n\n```javascript\nconst isActive = !!someValue;\n```\n\nIch verstehe, dass `!` das logische "NICHT" (Negation) ist. Aber warum schreibt man zwei Ausrufezeichen hintereinander? Was bedeutet das überhaupt? Ich habe versucht, ein Zeichen wegzulassen – der Code ist kaputtgegangen. Ich habe versucht, beide wegzulassen – es funktioniert auch nicht wie gewünscht.\n\nIch habe gelesen, dass `!!` ein "Operator" sein soll, aber in der offiziellen Dokumentation habe ich ihn nicht gefunden. Ist das ein Trick? Oder ist das einfach ein Bug im Code, den alle kopieren? Gibt es vielleicht eine verständlichere Methode, um dasselbe zu erreichen?\n\nErklärt mir bitte in einfachen Worten, wofür das benötigt wird und warum es in der JavaScript-Community so beliebt ist. Am besten mit Beispielen, damit klar wird, wie es mit verschiedenen Typen funktioniert.