molily: Boolean-Objekt

Beitrag lesen

Hi,

Die Primitives als Objects, also new String, new Boolean, new Number, haben m.E.n. keine Anwendungsfälle. Im Gegenteil, sie verwirren die Anwender. Ich habe noch nie gesehen, dass die jemand zu seinem Vorteil genutzt hat, sondern immer nur aus Versehen, und dann war's eine Fehlerquelle.

Momentan googelt man nach »JavaScript Boolean« und stößt auf die SELFHTML-Seite, auf der etwas von »boolschen Konstanten« erzählt wird. Es ist lediglich ein Objekt, dass bei valueOf einen Boolean zurückgibt. Gut, daraus könnte man jetzt irgendeinen Nutzen in Richtung »Konstante« ableiten. Ich würde das aber nicht verwenden, weil die Nachteile zu groß sind. Z.B. ergibt  ein Vergleich von zwei new Boolean(true) false, weil zwei Objects verglichen werden.

Dass es die Primitives als Objects gibt, sollte an irgendeiner Stelle angemerkt werden, aber nur, um von ihrer Nutzung abzuraten. Ich halte es daher für Quatsch, eine eigene Seite einzurichten, die sich nur mit new Boolean beschäftigt. Die einzige relevante Info ist, dass man new Boolean nicht braucht und man besser die Literal-Primitives true und false verwenden sollte.

Eventuell Sinn macht die Arbeit mit eigenen Objekten, die ein einen Primitive wrappen (z.B. Number) sowie valueOf, toString und weitere eigene Methoden und Eigenschaften anbieten: Beispiel. Das ist allerdings noch was anderes als new String/Boolean/Number und ein absoluter Sonderfall.

Mathias