Callbacks and Higher-Order Functions

What does the following composition of higher-order functions do?
const result = [1, 2, 3, 4, 5]
  .filter(n => n % 2 === 0)
  .map(n => n * n)
  .reduce((sum, n) => sum + n, 0);
Next Question (20/21)