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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
function searchSize(){
                 return minfilesize && isFile && fsObj.Size>=minfilesize;
             }
Avec des opérateurs ternaires :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.