Write declarative code
Es gibt zwei verschiedene Arten von Code:
- Imperativen Code
- Deklarativen Code
Imperative Code
Section titled “Imperative Code”Imperativer Code sagt dem Programm, was es tun soll. 1 + 1 ist imperativ. Wenn wir mit einer for-Schleife über einen Array loopen und zählen wollen, wie oft ein bestimmtes Element vorkommt, ist das imperativ:
const fruitBasket = ['apple', 'banana', 'pear', 'apple'];let apples = 0;
for (let fruit of fruitBasket) { if (fruit === 'apple') { apples += 1; }}console.log(apples);Declarative Code
Section titled “Declarative Code”Deklarativer Code weist ein Programm an, Dinge zu tun, ohne sich um die Details der Implementation zu kümmern. Diese Details werden meistens in eine Funktion ausgelagert. Das Beispiel von oben in deklarativer Form, wobei die Funktion countApples nach wie vor imperativ ist:
function countApples(basket) { let apples = 0; for (let fruit of basket) { if (fruit === 'apple') { apples += 1; } } return apples;}
const fruitBasket = ['apple', 'banana', 'pear', 'apple'];const appleCount = countApples(fruitBasket);console.log(appleCount);Wir können aber auch die Funktion elegant in eine deklarative Form bringen, und zwar mit filter(). Deklarativ ist sie deswegen, weil wir auf einen Blick erkennen können, was passiert:
const appleCount = fruitBasket.filter(fruit => fruit === 'apple').length;