4.11 Exercie: Paysage ou Portrait
Voici un nouvel exercice : écrivez une fonction paysage(largeur, hauteur) qui retourne true si l'image est au format paysage (largeur strictement supérieure à hauteur), et false sinon. Mettez la vidéo en pause pour faire l'exercice, puis revenez pour la correction.
Comme dans l'exercice précédent, on pourrait commencer par un simple if / else, ou utiliser l'opérateur ternaire pour retourner true ou false. Mais en réalité, il existe une troisième solution, beaucoup plus propre : retourner directement le résultat de la comparaison.
L'astuce : retourner l'expression elle-même
Une expression de comparaison comme largeur > hauteur produit déjà un booléen. Il n'y a aucun besoin de la convertir explicitement en true ou false via un if. Écrire if (x > y) return true; else return false; est considéré comme un anti-pattern. La bonne pratique est :
function paysage(largeur, hauteur) {
return largeur > hauteur;
}
console.log(paysage(800, 600)); // true (paysage)
console.log(paysage(300, 600)); // false (portrait)
Avec 800 × 600, la largeur dépasse la hauteur : true. Avec 300 × 600, on a une image verticale : false. La fonction est tellement courte qu'elle se lit comme sa propre documentation. Retenez ce réflexe : si vous vous apprêtez à écrire return true ou return false directement après un if, vous pouvez probablement retourner directement la condition elle-même. On se retrouve dans la prochaine vidéo.