< Nazad na kurseve
Napredni Javascript

Nauči objektno orjentisanu paradigmu, module i asinhrono programiranje. Nauči napredne koncepte jezika, strukture podataka i algoritme.
Neophodan uslov za uspešno praćenje kursa je efektivna upotreba Javascripta.
ES6 moduli
Funkcionalno programiranje
- Naredbe i izrazi
- Imperativno vs. funkcionalno programiranje
- Funkcionalno programiranje
- Funkcije višeg reda
Moć funkcija
- Funkcija kao objekat
- Funkcija kao argument (povratna funkcija)
- Funkcija koja vraća funkciju
- Funkcija koja poziva sebe (rekurzija)
- Čiste i nečiste funkcije
- Višestruko vraćanje vrednosti
- Zatvorenost (closure)
- Samoizvršne anonimne funkcije
Kontekst izvršenja (this
)
- Vrednost
this
i kontekst izvršenja - Pozajmljivanje metoda sa
call
iaply
- Vezivanje konteksta sa
bind
this
unutar obične i streličaste povratne funkcije
Prototipska priroda jezika
- Šta je prototip?
- Konstruktorske funkcije
- Svojstvo prototype
- Prototipski lanac
- Ispitivanje prototipa (
isPrototypeOf
,getPrototypeOf
) - Prototipsko nasleđivanje
- Proširenje ugrađenih objekata
- Vežba: napraviti alias za addEventListener
Asinhrono programiranje
- Asinhrono programiranje
- Pakao povratnih funkcija (callback hell)
- Obećanja
- Observable
- Asinhrone funkcije (
async/await
)
Podaci i strukture
- Mapa (Map)
- Skup (Set)
- Tipski nizovi (typed arrays)
- Ispitivanje tipa objekta
- Razlika null i undefined
Destrukturiranje
- Destrukturiranje objekata i nizova
- Operator razdvajanja i parametar ostatka (
spread
irest
) - neodređen broj argumenata funkcije (
Math.max(...niz)
)
Iteratori i generatori
Propagacija događaja
- Propagacija događaja u Javascriptu
- Propagacija događaja naniže (capturing)
- Propagacija događaja naviše (bubbling)
- Zaustavljanje propagacije događaja