Die Antwort auf den zweiten Teil der Frage: "Ist diese Eigenart jemals nützlich?" ist vielleicht nein, wie aus einer früheren Antwort hervorgeht, wenn es tatsächlich eine Eigenart der Sprache (Javascript) ist, dass true auf 1 gesetzt wird, der Programmierer jedoch im Allgemeinen nicht 1 und true (und 0 und false) als das betrachtet gleiche Sache.
Wenn Sie jedoch ein mentales Modell haben, bei dem 1 wahr und 0 falsch ist, führt dies zu allen möglichen netten booleschen Techniken, die äußerst nützlich, leistungsfähig und direkt sind. Sie können beispielsweise einen Zähler direkt mit dem Ergebnis von A> 100 erhöhen, wodurch der Zähler erhöht wird, wenn A größer als 100 ist. Diese Technik kann in Java als Eigenart oder Trick angesehen werden, jedoch in einem Array oder einer funktionalen Sprache kann idiomatisch sein.
Ein klassisches Beispiel in der Array-Sprache APL wäre das Zählen der Anzahl von Elementen in einem Array, die (sagen wir) größer als 100 sind:
+/A>100
Wenn A das Array mit 5 Elementen ist 107 22 256 110 3, dann:
A>100
ergibt das boolesche Array mit 5 Elementen:
1 0 1 1 0
und Summieren dieses booleschen Ergebnisses:
+/1 0 1 1 0
ergibt die endgültige Antwort:
3
Diese Frage ist ein perfektes Beispiel dafür, wo diese Technik sehr nützlich wäre, insbesondere wenn das Problem verallgemeinert wird, um festzustellen, ob n von m booleschen Werten wahr sind.
Überprüfen Sie, ob mindestens zwei von drei Booleschen Werten wahr sind