Introducción a programación funcional en Javascript
Master the JavaScript Interview: What is Functional Programming?
🤔 ¿Qué es la programación funcional?
Ideas/conceptos claves
Paradigma de programación.- Es una forma distinta de ver el código cuando estamos creando aplicaciones. Creando un código mas conciso, legible y mas fácil de testear
Apuntes
Es un paradigma de programación
Existen diferentes como ser la programación orientada a objetos o la procedural
Programación Funcional vs P.O.O.
P.O.O
Se crea una clase ⇒ primera letra en mayuscula
Dentro el constructor que inicializa las propiedades iniciales de nuestro objeto
Se maneja generalmente getters y setters dentro de ellas
Luego creamos variables usando la clase
Para modificar estos objetos se usan los getters y setters mencionados anteriormente
Funcional
No se necesita ninguna clase solo se declara el objeto
Si deseamos modificar estos objetos creamos funciones que manipulen las propiedades de los objetos
// POOclassPerson{constructor(name, age){this.name= name
this.age= age
}getOld(){this.age+=1}}let person =newPerson('Fer',18)person.getOld()// 19// Funcionalconst fer ={name:'Fernando',age:18}constgetOld=person=>Object.assign({}, person,{age: person.age+1})getOld(fer)// 19
Programación funcional Es de manera declarativa ⇒ Enfocarte en que hay que hacer en vez de como hacerlo
Imperativo vs Declarativo
Imperativo
Cada parte es lo que debemos hacer, en este caso en el ciclo for
let array =[1,2,3]let array2 =[]for(let i =0; i< array.length; i++){ array2.push(array[i]*2)// [2,4,6]}
Declarativo
El mismo arreglo usamos el método map pero en este caso el map es declarativo por que no estamos siendo específicos que hacer en cada iteración como en el ciclo for
let array =[1,2,3]let array2 = array.map(item=> item*2)// [2,4,6]
RESUMEN: La programación funcional permite escribir código de manera concisa, legible y fácil de testear.
¿por qué el titulo dice "por Bedu"?
Talvez es un convenio o algo asi.🤔🤔
Bedu es una academia con metodología innovadora que te prepara para cubrir las necesidades del mercado laboral actual. ¡Combina la mejor experiencia y tecnología en un solo curso!
https://bedu.org/
Este junto con el curso de react redux y el de firebase y vue son cursos que los profesores son de Bedu, están geniales los cursos.
Menos código
Más legible
Más fácil de mantener y testear
Para qué sirve la Programación Funcional
Interesante, conocía la programación oriemtada a objetos y la estructurada, pero esto... en nuevo, veamos qué tal
Programación funcional significa que cuando estés desarrollando tu código tienes que enfocarte en que hay que hacer en lugar de como hay que harcelo
Gran explicacion!
Excelente clase!! creo que va a estar muy chingon este curso!
esperen el ejemplo del codigo functional que muestra como ejemplo es un arrow function lo que estoy viendo ?
así es.
cual es la programación orientada a procedimientos no entiendo podrían explicarme por favor con algún ejemplo básico ?
Hola, Javi :)
La programación orientada a procedimientos, o programación por procedimientos, es casi lo mismo que la programación funcional.
La sutil diferencia está en qué es una función y qué es un procedimiento.
Una función hace 1 cosa, y un procedimiento puede hacer varias.
Entonces:
En la programación funcional, hacemos funciones que realizan una tarea; y
en la programación por procedimientos, declaramos procedimientos que ejecutan varias tareas.
pronto.....
se ve increible
good!
Genial, super practica, al ritmo que vamos es muy necesario. BTW en Flutter también utilizamos código declarativo con Dart.
En ejemplo de Imperativo vs declarativo, utilizar en esté caso funciones como map genera una menor la carga en el procesador que utilizar un for ?
No necesariamente. El .map lo podemos reemplazar por un ciclo for común y corriente. Pero teniendo que escribir "a mano" podemos no prepararnos para todos los casos (por ejemplo, que el array esté vacío).
Puedes ver la implementación de algunas de estas funcionalidades o incluso escribir el código que corren. Creo que sería un buen ejercicio.