JS - Chapitre 06 - Statements Flashcards
Différence entre statement et expression
Un statement est un instruction qui fait une action, expression est une unité de code qui produit une valeur
En programmation fonctionnelle on veut des statements ou des expressions
On veut éliminer les statements en programmation fonctionnelle
Que doit-on utiliser en priorité en JS pour le statement de déclaration
const, var est deprecated et devrait etre interdit par lint et let seulement en cas de force majeure
Le if est il possible en programmation fonctionnelle
Oui si chaque if ou else renvoie une valeur. On va utiliser une rule “lint” pour obliger a avoir un return
exemple de if js en fonctionnelle
fonction isEven(n) {
if (n % 2 === 0) return true;
else return false;
}
Alternative a if?
Utilisation de l’opérateur conditionnel
const isEven = (n%2===0) ? true: false;
Modification du switch pour programmation fonctionnelle
Chaque possibilité doit faire un return même le default
Alternative au switch?
Utilisation de mapping
Faire une liste de methode => application de la méthode pour chaque possibilité
Remplacement de la boucle for-in
Boucle sur les keys
Object.keys(book).forEach(propName => { console.log(book[propName])};
Remplacement de la boucle for-of
Boucle sur les objets iterables
arr.froEach(element => { console.log(element)};
Desactivation des boucles en JS
lint => no-loop-statement
Reactivation temporaire des boucles
// eslint-disable-next-line functional/no-loop-statement
4 disruptive statements et lequel on garde
break, continue, throw, return. On garde return
Qu’est-ce qu’on utilise à la place de break, continue?
find, some, every se finisse dèes que la condition est remplie ou infirmée
Alternative aux exceptions
code asynchrone => reject des promises
code synchrone => return un resultat différent en cas d’erreur
desactivation “functional/not.throw-statement”: “error”