Programowanie funkcyjne x Programowanie obiektowe
Mamy kilka stylów kodowania zwanych paradygmatami . Jednym z nich jest programowanie funkcyjne (FP) i programowanie obiektowe (OOP). Te dwa style kodowania są najbardziej znane i na pewno raz w życiu jako programista będziesz musiał opisać różnicę między nimi. Więc chodźmy!
Programowanie funkcjonalne
Tutaj używamy wielu funkcji i zmiennych. W FP oddzielamy dane i funkcjonalności i przekazujemy dane do funkcji tylko wtedy, gdy chcemy coś obliczyć. Oznacza to, że używamy wartości zwracanych przez te funkcje w innym miejscu kodu.
Poniżej mamy przykład pokazujący styl kodu FP. Zauważ, że oddzielamy funkcję od danych i wartość zwracaną przez funkcję, której używamy do pocieszenia widza.
function getArea(a, b) {
return a * b
}
var a = 2;
var b = 5;
var area = getArea(a, b);
console.log(area); // <= Use Here!
Tutaj dane i funkcjonalności grupujemy jako właściwości i metody wewnątrz obiektów (stąd nazwa „obiektowe”). Jest to bardzo pomocne, gdy chcemy budować modele rzeczywistych obiektów, ponieważ możemy grupować właściwości i dane, które razem mają logiczny sens.
Zobaczmy teraz, jak zbudować psa przy użyciu kodu w stylu 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
Programowanie funkcyjne x Programowanie obiektowe
Oczywiście te dwa odrębne style mają wiele koncepcji i zasad, ale tutaj skupiłem się tylko na głównej różnicy między nimi, abyś mógł mieć ogólny zarys i być gotowym do szybkiej odpowiedzi, gdy zostaniesz o to zapytany.
Podsumowując, możemy powiedzieć, że paradygmat programowania funkcjonalnego polega na oddzielaniu danych i funkcjonalności, a programowanie obiektowe polega na grupowaniu danych i funkcji w sensowne obiekty.
Odniesienie
Certyfikat zawodowy Meta Frontend Developer — (Kurs 2) — Dostępny na Coursera.

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































