La respuesta a la segunda parte de la pregunta, "¿alguna vez es útil esta peculiaridad?" tal vez sea no, como se señaló en una respuesta anterior, si de hecho es una peculiaridad del lenguaje (Javascript) que verdadero se convierte en 1, pero que el programador en general no ve 1 y verdadero (y 0 y falso) como el la misma cosa.
Sin embargo, si tiene un modelo mental de 1 siendo verdadero y 0 siendo falso, entonces conduce a todo tipo de buenas técnicas booleanas que son extremadamente útiles, poderosas y directas. Por ejemplo, podría incrementar un contador directamente con el resultado de A> 100, lo que incrementaría el contador si A es mayor que 100. Esta técnica podría verse como un capricho o un truco en Java, pero en una matriz o lenguaje funcional puede ser idiomático
Un ejemplo clásico en el lenguaje de matriz APL sería contar el número de elementos en una matriz que son (digamos) mayores que 100:
+/A>100
Donde si A es la matriz de 5 elementos 107 22 256 110 3 entonces:
A>100
produce la matriz booleana de 5 elementos:
1 0 1 1 0
y sumando este resultado booleano:
+/1 0 1 1 0
da la respuesta final:
3
Esta pregunta es un ejemplo perfecto de dónde esta técnica sería muy útil, especialmente si el problema se generaliza para determinar si n de m valores booleanos son verdaderos.
Compruebe si al menos dos de cada tres booleanos son verdaderos