De Wikipédia : En programmation informatique, un « garde » est une expression booléenne qui doit être évaluée à vrai si l'exécution du programme doit continuer dans la branche en question. Quel que soit le langage de programmation utilisé, le code de garde ou une clause de garde est une vérification des conditions préalables d'intégrité utilisée pour éviter les erreurs lors de l'exécution.
En d'autres termes, l'expression de garde est une expression (également appelée modèle) qui vérifie les conditions les plus simples avec un minimum de calculs pour éviter les erreurs et les comportements inattendus. C'est un modèle courant dans presque tous les langages de programmation.
Regardons un exemple :
const capitalize = str => { // Guard expression if (typeof str !== 'string') return ''; return str.charAt(0).toUpperCase() + s.slice(1); }
C'est un exemple classique de l'expression de garde. Au début de la fonction, elle vérifie si la valeur transmise est une chaîne. En cas d'échec, empêchez la fonction d'effectuer d'autres calculs. Avec cette approche, le code principal se trouve au niveau supérieur, et non à l'intérieur de la condition de l'instruction if. Cela permet d'éviter l'imbrication et d'améliorer la lisibilité du code.
Voici un autre exemple :
const checkAge = age => { if (typeof age === 'number') { if (age < 21) return 'Not eligible'; if (age >= 21 && < 60) return 'Eligible'; } return null; }
Il s'agit d'une fonction simple qui vérifie l'âge. Cela a l'air bien, mais nous pouvons apporter quelques améliorations ici.
const checkAge = age => { if (typeof age !== 'number') return null; if (age < 21) return 'Not eligible'; if (age >= 21 && < 60) return 'Eligible'; }
La condition renvoyer null si ce n'est pas un nombre est assez évidente. Nous démarrons la fonction avec une simple vérification et, si elle échoue, tout ce qui se trouve en dessous de l'expression de garde (la première vérification) tombe. Il est désormais plus facile de lire la fonction et, plus important encore, cela évite les calculs inutiles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!