Programação funcional.
Pode não parecer, mas a POO é muito complicada quando vc faz um software relativanmente grande e complexo. Que inferno! a coisa não pára! começa com umas poucas classe, aí vc precisa evoluir, vai pra design patterns e explode no DDD. Mil abstrações sem resolver nada do seu problema, tudo boilerplate. É assim que funciona e funciona muito bem, só fica a sensação de que não precisa daquela violência toda...
POO é um conceito muito bem definido, só não tem nada de simples. E a coisa só vai piorando à medida que vc precisa extrair mais dela. São anos até vc dominar tudo o que precisa.
E agora com outras linguagens além do Javascript, como Clojue, Julia e outras, enfim o devido modo funcional de ser.
No Clojure, e a família toda do Lisp, a coisa toma outra forma, porque vc acaba programando orientado aos dados e não à essas abstrações desnecessárias. É muito mais o encadeamento dos dados, vai encadeando uma coisa na outra.