Opérateur logique ou opérateur ternaire ?
Bonjour
Je suis à la recherche d'opinions, ou éventuellement d'une discussion autour d'un choix qui n'est pas forcément cornélien, et que je ne sais pas trop arbitrer avec mes connaissances actuelles.
exemple concret :
fonction évaluant la taille d'un fichier si c'est bien un fichier et si une taille minimum est fournie.
Avec des opérateurs logiques
Code:
1 2 3 4
|
function searchSize(){
return minfilesize && isFile && fsObj.Size>=minfilesize;
} |
Avec des opérateurs ternaires :
Code:
1 2 3 4 5 6 7
|
function searchSize(){
return minfilesize ?
isFile ? fsObj.Size>=minfilesize
:false
:false;
} |
Je ne crois pas voir de différences fondamentales en terme de performance avec mes échantillons actuels sur ces 2 formes d'expression. Les résultats retournés sont les mêmes bien sur.
Avec des opérateurs logiques je sais qu'il y a une évaluation en court-circuit, qui peut peut-être s'avérer plus rapide (???)
La seconde me parait plus facile à lire, plus "langage naturel" mais c'est peut-être personnel. Ces opérateurs ternaires ne sont pas toujours compris par tous.