Brendan Church

Moderní
JavaScript

  • celodenní

JavaScript už dávno neslouží jen k psaní jednoduchých skriptů na webových stránkách. Je to moderní a flexibilní jazyk, jež vyniká velkou svobodou ve stylu programování a návrhu aplikace. To je paradoxně i jeho největší problém a důvod špatné pověsti – právě proto je dobré znát všechna jeho specifika, přednosti, ale i slabiny.

JavaScript už dávno neslouží jen k psaní jednoduchých skriptů na webových stránkách. Je to moderní a flexibilní jazyk, jež vyniká velkou svobodou ve stylu programování a návrhu aplikace. To je paradoxně i jeho největší problém a důvod špatné pověsti – právě proto je dobré znát všechna jeho specifika, přednosti, ale i slabiny.

Od svého vzniku prošel JavaScript obrovským vývojem a dnes se řadí mezi nejvýznamnější programovací jazyky. Díky svojí flexibilitě nabývá mnoho podob – ve své tradiční roli na straně prohlížeče pohání webové aplikace pro miliardy lidí, pod názvem Node.js pak nabízí nástroj pro tvorbu serverových služeb.

Právě jeho flexibilita ovšem pro mnoho nováčků představuje kámen úrazu. Na školení se proto dozvíte, v čem se JavaScript liší od ostatních jazyků, jak přistupovat k návrhu aplikací a jak se vyvarovat častých chyb. Formou praktických příkladů se naučíte pracovat se základními stavebními kameny jazyka, ať už na straně prohlížeče nebo serveru.

Pro koho je školení určeno

S JavaScriptem se občas potkáte, ale většinu času s ním bojujete, spíše než abyste si rozuměli. Nebo máte zkušenost s jiným, tradičnějším jazykem – například Java – a nevíte si rady s možnostmi, které JavaScript nabízí, ať už jde o funkcionální přístup nebo práci s prototypy. Možná jste také zvyklí s JavaScriptem pracovat jen ve spojení s frameworkem jako třeba Angular a chcete si poradit i bez něj.

Potřebné znalosti účastníka

Neobejdete se bez alespoň základů programování v libovolném procedurálním jazyce a znalosti pojmů jako je proměnná, funkce, datové typy, cykly, a řídící struktury (if, while a podobně).

Náplň školení

Gramatika

  • datové typy
  • funkce jako objekty
  • operace nad poli

Kontext a uzávěry

  • dynamický a lexikální kontext
  • jak vzniká kontext
  • „magické” slovo this
  • uzávěry (closure) nad kontexty

Prototypální delegace

  • delegace a dědičnost
  • „třídy” v JavaScriptu
  • návrh aplikace pomocí prototypů

Asynchronní operace

  • součinnost v JavaScriptu
  • callbacky a předání kontroly
  • operace nad Promise
  • iterátory, generátory a async funkce