Wprowadzenie
JavaScript nieustannie się rozwija i stopniowo pojawiają się w nim funkcje, które usprawniają pracę lub adresują określone problemy. Jednak ze względu na konieczność zachowania wstecznej kompatybilności, pewne elementy pozostają niezmienne co jest jednocześnie zaletą i wadą.
Podczas nauki JavaScriptu można spotkać zagadnienia, które często sprawiają problemy nawet doświadczonym programistom. Na podstawie przeprowadzonej ankiety, zrobiliśmy ich listę i te najczęściej spotykane opracowaliśmy tak, aby były zrozumiałe dla każdej osoby posiadającej podstawy znajomości tego języka.
- Zakres globalny i lokalny
- Zakres blokowy
- Hoisting & Temporal Dead Zone
- Closure
- Słowo kluczowe this
- Meotdy call, apply, bind
- Moduły w JavaScript
- Przekazywanie informacji przez wartość i referencję
- Kopiowanie obiektów
- “Zamrażanie” obiektów
Trudne części JavaScriptu
Podstawowy JavaScript posiada dość niską barierę wejścia. Stosunkowo szybko jesteśmy w stanie stworzyć z jego pomocą określoną funkcjonalność i stopniowo poszerzać swoją wiedzę. Już po kilku tygodniach intensywnej nauki możemy sięgać po frameworki i tam wszystko zaczyna się mocno komplikować. Często to skomplikowanie wynika z braku solidnych fundamentów, których niewystarczające zrozumienie każdego dnia przysparza nam problemów.W tym warsztacie wrzucamy na tapet te najczęściej wymieniane zarówno przez początkujących jak i doświadczonych programistów.
Scope, Closure, This, Lexical & Dynamic Scope...czyli co?
Podczas gdy zadeklarowanie zmiennej w JavaScripcie nie wymaga specjalnej wiedzy programistycznej, tak już zrozumienie tego, jak JavaScript interpretuje ten proces, to już inna sprawa. Nagle okazuje się że w pewnych sytuacjach możemy w prosty sposób wygenerować błąd, który nie jest widoczny na pierwszy rzut oka i może spowodować nawet utratę danych w naszej aplikacji.Wyzwanie tutaj stanowi również fakt, że wiele źródeł w Internecie, próbując wyjaśnić działanie tych mechanizmów, niepotrzebnie komplikuje sprawę albo posługując się zbyt skomplikowanym słownictwem albo przykładami. W naszym warsztacie zrobiliśmy wszystko aby każdy z tematów był dla Ciebie jasny a w razie potrzeby zawsze możesz zapytać autora o dodatkowe wyjaśnienie.
Referencja i Wartość - jaka jest różnica?
Na pierwszy rzut oka przekazywanie informacji w JavaScripcie odbywa się dokładnie na takiej samej zasadzie, bez względu na rodzaj danych na których pracujemy. Okazuje się że tak do końca nie jest. Złożone typy danych (tablice i obiekty) przekazywane są w JavaScripcie przez referencję (odniesienie do oryginału) a nie poprzez wartość.W praktyce oznacza to tyle, że łatwo możemy zmodyfikować oryginalny obiekt na którym pracujemy, co prowadzi do często nieprzewidzianych konsekwencji.
Shallow copy, deep freeze. Tak, nadal mówimy o JavaScript
Obiekty są nieodłącznym elementem JavaScriptu. I w związku z tym jak działa scope, domknięcia oraz przekazywanie wartości, musimy mieć strategię do tegom aby odpowiednio pracować z danymi przechowywanymi w obiektach. Mowa tutaj o zamrażaniu oraz kopiowaniu, które mogą odbywać się zarówno w formie "płytkiej" jak i "głębokiej". O tym kiedy wykorzystać którą i co dokładnie oznaczają, dowiesz się w naszym warsztacie.
Nowe funkcje JavaScriptu
Złożoność aplikacji JavaScript rośnie w ogromnym tempie a to wymaga nowych narzędzi i strategii rozwoju aplikacji. Przykładem jest podział kodu na mniejsze moduły, co przez długi czas realizowane było z pomocą zewnętrznych narzędzi i CommonJS Modules. Obecnie do naszej dyspozycji są Moduły ES6, które stopniowo zyskują większe wsparcie przeglądarek.Nie zmienia to jednak faktu, że nadal warto sięgać po zewnętrzne narzędzia, ułatwiające pracę z JavaScriptem i to nawet doskonały temat na kolejny warsztat.
Dla kogo jest ten kurs?
Warsztat został stworzony z myślą o osobach które absolutne podstawy programowania w JavaScript mają już za sobą oraz o bardziej doświadczonych programistach, którzy czują że niektóre fundamentalne elementy tego języka stanowią dla nich problem.
Dlaczego wybrać właśnie ten kurs?
- Kurs wideo to najbardziej efektywna a zarazem najprzyjemniejsza forma nauki. Jest on tak prowadzony, byś cały czas mógł go śledzić z zainteresowaniem i zaangażowaniem, a także czerpać satysfakcję ze zdobytej wiedzy!
- Wiedza, którą otrzymujesz w tym kursie, to nie tylko sucha teoria, ale również wskazówki od praktyka z wieloletnim doświadczeniem, dzięki którym dużo łatwiej będzie Ci opanować materiał i pracować efektywniej.
-
Uczysz się na praktycznych przykładach. Kurs, który masz przed sobą to esencja praktycznej wiedzy i doświadczenia a także wzorów, które oszczędzą Ci godziny pracy i poszukiwań.