Functional Programming (Programación Funcional), comúnmente abreviado FP.
Paradigma Forma, modelo, patrón; en la cual podemos resolver diferentes problemáticas.
Declarativo QUE Resultado
JS es multiparadigma
Programación funcional - Wikipedia, la enciclopedia libre
Programación declarativa vs imperativa
Nueva forma de pensar y entender nuestro código.
Es un paradigma de programación. Persigue crear código más conciso, legible y fácil de testear.
🔀 Existen otros paradigmas como la Programación Orientada a Objetos (POO) y la Programación por Procedimientos.
// POO
class Person {
constructor(name, age) {
this.name = name
this.age = age
}
getOld() {
this.age += 1
}
}
let person = new Person('JuanDC', 15)
person.getOld() // 16
// Functional
const juandc = {
name: 'JuanDC',
age: 15
}
//cramos nuestras propias funciones para manipular el objeto
//No son nec getters y setters
const getOld = person => Object.assign(
{},
person,
{ age: person.age + 1}
)
getOld(juandc) // 16
Es un paradigma DECLARATIVO
// Imperative
let array = [1,2,3]
let array2 = []
//el for nos dice como hacerlo en cada vuelta
for (let i = 0; i<array.length;i++) {
array2.push(array[i]*2) // [2,4,6]
}
// Declarative
let array = [1,2,3]
let array2 = array.map(item => item*2) // [2,4,6]
<aside> 📌 SUMMARY: Nueva forma de ver el código. Paradigma diferente a POO Declarativo → Qué hacer Código conciso, más legible y fácil de testear.
</aside>