Quant à votre question de savoir si cette bizarrerie est jamais utile : Je suppose qu'il pourrait y avoir des cas où elle serait utile (si un code condensé est ce que vous recherchez), mais s'y fier réduira (très probablement) sévèrement la compréhensibilité de votre code.
C'est un peu comme utiliser l'incrémentation/décrémentation post/pre dans le cadre d'expressions plus importantes. Pouvez-vous déterminer d'un coup d'œil le résultat de ce code ?
int x = 5;
int result = ++x + x++ + --x;
Remarque : avec ce code, vous pouvez parfois même obtenir des résultats différents selon le langage et le compilateur.
C'est une bonne idée de faciliter votre vie et celle de votre prochain qui liront votre code. Écrivez clairement ce que vous voulez vraiment qu'il se passe plutôt que de vous fier à des effets secondaires comme la conversion implicite des booléens.
14 votes
Est-ce que tu sais wtfjs.com ?
1 votes
Ha ! Non, je n'avais jamais vu ça avant.
0 votes
Ah, les joies des conversions implicites de types.
4 votes
Jamais utile ? Peut-être pour l'obscurcissement :-)
0 votes
Pourquoi ? Aussi, tout ce qui est est utile si vous ne pouvez trouver que les circonstances qui l'exigent. Il est vrai que celle-ci est moins souvent requise que beaucoup d'autres, mais il y a des moments, aussi rares soient-ils, où elle peut être l'outil idéal pour le travail.
0 votes
Support linguistique des opérateurs de comparaison chaînés (x < y < z)