Sieć połączonych ze sobą żyłek.

Programowanie funkcyjne – Powtórka przed ReactJS #11

Dzisiaj przyjrzymy się, czym tak naprawdę zajmują się koderscy hipsterzy. Programowanie funkcyjne to najpopularniejsza alternatywa dla programowania obiektowego. W ostatnich latach zdobywa coraz większą popularność. Wbrew pozorom wywołanym przez ten hype, samo programowanie funkcyjne nie jest niczym nowym. Ten paradygmat istnieje od dziesięcioleci. Do tej pory był używany przede wszystkim w środowiskach akademickich. Jego popularność wzrosła za sprawą Reacta. Ta biblioteka wykorzystuje wiele fundamentalnych koncepcji programowania funkcyjnego.

(więcej…)

Zestaw narzędzi na biurku

Prototypy i dziedziczenie – Powtórka przed ReactJS #10

Przypuśćmy, że naszym dzisiejszym celem jest usprawnienie masowej produkcji krzeseł.

Dziedziczenie klasowe

Postrzegając ten problem przez pryzmat języków obiektowych zorientowanych na klasy, zanim przejdziemy do wytwarzania, musimy przygotować specyfikację produktu.
Rolę specyfikacji będzie stanowiła klasa Krzesło. Zamieścimy w niej wszystkie właściwości i funkcjonalności krzeseł, które będziemy produkować. Najpierw skupimy się na najprostszym modelu, jaki przychodzi nam do głowy, zostawiając sobie furtkę do dalszych usprawnień w przyszłości.

(więcej…)

Mężczyzna wskazujący na pokaz fajerwerków.

Wskaźnik this – Powtórka przed ReactJS #9

Wskaźnik this stanowi fundament programowania zorientowanego obiektowo. Niestety, w przypadku JavaScript, jest jedną z najbardziej zagmatwanych części języka. Zarówno początkujący, jak i weterani innych języków programowania, będą mieli wiele okazji do złapania się za głowę. W przeciwieństwie do Javy i C#, wartość this nie zawsze wiąże się z obiektem/funkcją zawierającą to słowo kluczowe.
(więcej…)
Droga za ogrodzeniem.

Domknięcia – Powtórka przed ReactJS #8

Zacznijmy od spraw natury czysto organizacyjnej. Od dnia dzisiejszego, wpisy z serii Powtórka przed ReactJS, będą miały odmienną formę niż dotychczas.

Do tej pory skupiałem się na kompleksowym omawianiu wybranych zagadnień. Takie podejście miało liczne zalety w zakresie opracowania najistotniejszych fragmentów specyfikacji ES6. Mamy końcówkę 2017 roku, a mimo to nadal trudno wskazać wyczerpujące i jednocześnie zwięzłe materiały do nauki ‚nowości’, które stały się częścią standardu przeszło dwa lata temu.

Jeżeli chodzi o tematykę zaplanowaną na drugą część serii, sprawa wygląda zupełnie inaczej. (więcej…)

Azjatka otoczona przez kolorowe bąbelki mydlane.

Zakresy – Powtórka przed ReactJS #7

Bez zrozumienia zakresów nie obejdzie się podczas pisania nawet najprostszych programów. Tak pozornie banalne zagadnienie zawiera wiele niuansów, które wprowadzają w dezorientację wielu początkujących. Większość z owych niuansów odchodzi w niepamięć po zrezygnowaniu z wykorzystywania var na rzecz let i const. Czy jest to wystarczający powód, aby pominąć temat? W żadnym wypadku. Dogłębne opanowanie mechaniki zakresów jest bardzo często sprawdzane podczas rozmów kwalifikacyjnych. Wystarczy zrozumieć kilka prostych zasad, żeby znacznie zwiększyć szansę na zdobycie wymarzonej pracy. (więcej…)

Mężczyzna w bordowej koszuli pakujący pudełko w pracowni.

Moduły ES6 – Powtórka przed ReactJS #6

Brak wbudowanego systemu modułów w JavaScript stanowił problem od dawien dawna. Różne wzorce projektowe i techniki stanowiły zastępcze rozwiązanie problemu. Najpopularniejsze z nich to moduły opakowane w biblioteki, loader RequireJS, wstrzykiwanie zależności w AngularJS oraz powszechnie uznawany król – CommonJS. To właśnie w oparciu o CommonJS zaimplementowano natywną funkcjonalność w ramach specyfikacji ES6. (więcej…)

Czworo przyjaciół zbijających żółwika nad stołem.

Obietnice – Powtórka przed ReactJS #5

Obiecuję, że po przeczytaniu tego wpisu, Wasz kod asynchroniczny stanie się bardziej czytelny. Skąd taka pewność siebie? A no, społeczność JavaScript od dwóch lat zachęca do jak najczęstszego składnia obietnic. Spokojnie, to nadal powtórka przed ReactJS, a nie zapowiedź mojego startu w plebistycie na najlepszego blog front-endowy. Na to przyjdzie czas wiosną 2018 roku #DSP ;). (więcej…)

Trzy lukrowane pączki leżące na blacie pełnym kolorowej posypki.

Spread, rest i default – Powtórka przed ReactJS #4

Funkcje wykorzystujące tablice to chleb powszedni każdego programisty JavaScript. Mając to na uwadze, komitet TC39 zatroszczył się o wprowadzenie kilku użytecznych usprawnień, które rozszerzają nasze możliwości. Oprócz nowinek, zastąpimy stare rozwiązania bardziej eleganckim kodem. Panie i Panowie, oto bohaterowie dzisiejszego wpisu: spread, rest i default. (więcej…)

Narzędzia wiszące na brudnej ścianie warsztatu.

Destrukturyzacja – Powtórka przed ReactJS #3

Hermetyzacja, enkapsulacja, polimorfizm czy chociażby tytułowa destrukturyzacja. Długo wymieniać pojęcia, których sama nazwa wystarcza, aby początkującemu włosy stanęły dęba. Skoro zdecydowano się na użycie tak wyszukanej formy językowej, to każdy młody programista słusznie zastanawia się, jakie szataństwo musi się za tym wszystkim kryć. Na całe szczęście, bardzo często okazuje się, że wyszukane nazewnictwo niewiele ma wspólnego z poziomem trudności samej koncepcji. Destrukturyzacja, mimo że jest czymś całkowicie nowym w JavaScript, nie jest wyjątkiem od tej reguły. (więcej…)

Kolorowe klamerki przyczepione do zielonym sznurka wiszącego w powietrzu

Łańcuchy szablonowe – Powtórka przed ReactJS #2

Wśród nowinek, które przyniosło ze sobą ES6, nie zabrakło miejsca dla dwóch literałów: łańcuchów szablonowych i oznaczonych łańcuchów szablonowych. Pierwszy z nich łączy klasyczne łańcuchy z obsługą wieloliniowości oraz wstawianiem wyrażeń, znanym chociażby z biblioteki Handlebars.js. Drugi literał, opierający się o funkcje oznaczające, pozwala na dodatkowe przetwarzanie łańcucha przed kompilacją ostatecznej wartości. W tym wpisie postaram się przybliżyć, jaki potencjał kryje się w tych dwóch niepozornych funkcjonalnościach. (więcej…)