Skip to content

Write declarative code

Es gibt zwei verschiedene Arten von Code:

  1. Imperativen Code
  2. Deklarativen 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);

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;