OOP i JavaScript – to możliwe?
OOP, jak sama nazwa wskazuje, działa na obiektach. Choć JavaScript jest językiem obiektowym, to opiera się o prototypy, czyli coś niestandardowego w świecie OOP. Nie wyklucza to jednak programowania zorientowanego obiektowo. Niesie ono ze sobą dobre praktyki i zasady, które pomagają tworzyć lepszej jakości kod. Mimo że tworzenie projektu zgodnie z OOP może trwać dłużej, to później łatwiej nim zarządzać i go rozbudowywać.
Jak rozpoznać, czy wystarczająco dobrze znam JavaScript?
Od czasu wejścia ES6 w obiektach w JS trochę się zmieniło, a dokładniej: mamy możliwość korzystania z wygodnego lukru składniowego.
- Dla dobrego zrozumienia OOP powinieneś znać zarówno to, co dzieje się pod spodem (konstruktory, prototypy), jak i lukier składniowy – klasy w JS.
- Należy też swobodnie korzystać ze struktur danych, takich jak rozbudowane tablice czy literały obiektów.
- Absolutny must have to rozumienie referencji oraz operacje na obiektach: dodawanie, modyfikowanie oraz usuwanie właściwości i wartości, iterowanie po nich, a także kopiowanie obiektów (płytkie i głębokie).
- Nie może być Ci też obce słówko this i to, jak zachowuje się w zmieniającym się kontekście.
- Warto, żebyś miał już na swoim koncie przynajmniej jeden duży projekt. Pojęcie na temat napotykanych w takich projektach problemów pomoże Ci zrozumieć i zapamiętać zalety programowania zorientowanego obiektowo.
Podsumowując:
- konstruktory, prototypy i klasy w JavaScripcie,
- operacje na obiektach,
- this,
- jeden większy projekt na koncie.
Aby sprawdzić, czy umiesz już wystarczająco, by zacząć naukę OOP, możesz zweryfikować swoją wiedzę w wyzwaniach i seriach zadań z JavaScriptu. Jedno z takich wyzwań proponuję na końcu tego artykułu.
Czy rozpoczęcie nauki JS od programowania obiektowego to dobry pomysł?
Nie, JavaScript to język stworzony dla sprawnego działania przeglądarek, dlatego ma swoje ograniczenia i aby być ich świadomym, warto najpierw wejść w podstawy czystego JavaScriptu. JS stał się jednak tak popularny, że objął swym zasięgiem zarówno front end, jak i back end, leży też u podstaw niejednego dużego projektu (np. Facebooka). Nie ma przeciwwskazań, by na jego podstawie uczyć się OOP i tworzyć takie rozwiązania. W trakcie nauki, gdy zauważysz braki JS-a, zrozumiesz między innymi, dlaczego taką popularnością cieszy się ostatnio TypeScript.
Bezpłatny test z JavaScriptu – sprawdź swoje umiejętności i zacznij się uczyć OOP
Chcesz sprawdzić, czy jesteś gotowy na OOP? Zapraszam Cię do podjęcia 27-dniowego wyzwania! Podczas niego co 2 dni będziesz otrzymywać na maila zadania. Zweryfikujesz w nich swoją wiedzę od absolutnych podstaw front endu (HTML, CSS, JavaScript) po asynchroniczność i testy. Powodzenia!

