Programação Funcional x Programação Orientada a Objetos
Temos vários estilos de codificação conhecidos como paradigmas . Programação Funcional (FP) e Programação Orientada a Objetos (OOP) são um deles. Esses dois estilos de codificação são os mais famosos e certamente uma vez na vida como programador, você terá que descrever a diferença entre eles. Então vamos!
Programação Funcional
Aqui usamos muitas funções e variáveis. No FP, mantemos os dados e as funcionalidades separados e passamos os dados para as funções somente quando queremos que algo seja computado. Ou seja, usamos os valores retornados dessas funções em algum outro lugar do código.
A seguir, temos um exemplo mostrando o estilo de código FP. Observe que separamos a função dos dados e o valor que retorna da função que usamos para consolar o visualizador.
function getArea(a, b) {
return a * b
}
var a = 2;
var b = 5;
var area = getArea(a, b);
console.log(area); // <= Use Here!
Aqui agrupamos dados e funcionalidades como propriedades e métodos dentro de objetos (por isso o nome “orientado a objetos”). Isso é muito útil quando queremos construir modelos de objetos da vida real porque podemos agrupar propriedades e dados que juntos fazem sentido lógico.
Agora, vamos ver como construir um cachorro usando o estilo de código OOP:
var dog = {
legs: 4,
sleepy: true,
bark: function(){
if(this.sleepy){
console.log('Woof, Woof');
} else {
console.log('Zzzzz');
}
},
nap: function() {
this.sleepy = false
}
}
console.log(dog.sleepy) // true
dog.bark(); // Woof, Woof
dog.nap();
console.log(dog.sleepy) // false
dog.bark(); //Zzzzz
Programação Funcional x Programação Orientada a Objetos
É claro que esses dois estilos separados têm muitos conceitos e princípios, mas aqui eu apenas foquei na principal diferença entre eles para que você tenha uma visão geral e esteja pronto para responder rapidamente quando questionado sobre isso.
Em resumo, podemos dizer que o paradigma da Programação Funcional funciona mantendo os dados e a funcionalidade separados e a Programação Orientada a Objetos funciona mantendo os dados e a funcionalidade agrupados em objetos significativos.
Referência
Certificado profissional Meta Frontend Developer — (Curso 2) — Disponível no Coursera.





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)