Odpowiedź na drugą część pytania: „czy to dziwactwo jest kiedykolwiek przydatne?” jest być może nie, jak zauważono w poprzedniej odpowiedzi, jeśli rzeczywiście jest to dziwactwo języka (JavaScript), że prawda jest przypisana do 1, ale że programista nie widzi ogólnie 1 i prawda (i 0 i fałsz) jako ta sama rzecz.
Jeśli jednak masz model mentalny, w którym 1 jest prawdą, a 0 jest fałszem, prowadzi to do różnego rodzaju fajnych technik boolowskich, które są niezwykle przydatne, potężne i bezpośrednie. Na przykład możesz zwiększyć licznik bezpośrednio z wynikiem A> 100, co zwiększy licznik, jeśli A jest większe niż 100. Ta technika może być postrzegana jako dziwactwo lub sztuczka w Javie, ale w tablicy lub języku funkcjonalnym może być idiomatyczny.
Klasycznym przykładem w APL w języku tablicowym byłoby policzenie liczby elementów w tablicy, które są (powiedzmy) większe niż 100:
+/A>100
Gdzie, jeśli A jest tablicą 5 elementów 107 22 256 110 3, to:
A>100
daje 5-elementową tablicę boolowską:
1 0 1 1 0
i sumując ten wynik boolowski:
+/1 0 1 1 0
daje ostateczną odpowiedź:
3)
To pytanie jest doskonałym przykładem tego, gdzie ta technika byłaby bardzo przydatna, szczególnie jeśli problem jest uogólniony w celu ustalenia, czy n spośród m wartości logicznych jest prawdziwe.
Sprawdź, czy co najmniej dwa z trzech boolanów są prawdziwe