Paradigmas de programación

Imperativa

Orientada a objetos

El problema se modela como objetos que encapsulan la lógica y la parte del estado que controlan.

Máximo valor en lista de enteros...
class MaxFinder {
  constructor(values) { this.values = values; }
  find() { throw Error("Not implemented"); }
}
class MaxInteger extends MaxFinder {
  constructor(values) { super(values); }
  find() {
    let m = Number.MIN_SAFE_INTEGER;
    for (let i = 0; i < this.values.length; i++) {
      if (m < this.values[i]) m = this.values[i];
    }
    return m;
  }
}
const maxFinder = new MaxInteger([1,2,3,4,5]);
console.log(maxFinder.find());
Prueba aquí...