Opakování JavaScriptu 2

22. hodina MVOP WBF

Matěj Cajthaml — SSPŠ

©

Opakování

Můžeme během běhu programu JavaScriptu měnit datové typy proměnných?
K čemu slouží v SASS zápis @use?
Je CSS validní SASS zápis?
Co je to fullstack?
Co je to metajazyk?

Řídící konstrukce

Podmínky - if

Přepínač - switch

  • chytřejší podmínky
  • hodí se na menší počet podmínek - hodnot
  • podobné hodnoty
  • klíčová slova: switch, case, break, default
  • striktní porovnání

Přepíanč - switch

Cyklus dokuď - while

  • blok s příkazy se provádí dokuď je podmínka pravdivá
  • můžeme využívat proměnné
  • lze vytvořit nekonečný cyklus

Cyklus dokuď - while

Cyklus s proměnou - for

  • blok s příkazy se provádí dle zadaných částí
  • tři části: proměnná, podmínka a inkrementátor
  • lze vytvořit nekonečný cyklus

Cyklus s proměnou - for

Logické operátory

Striktní vs. obyčejné porovnání

  • striktní: ===
  • obyčejné: ==
  • striktní porovnává datový typ a hodnotu
  • obyčejné porovnává jen hodnoty
  • negace: !== a !=

"2021" === 2021?

"2021" === "2021"?

"2021" == "2021"?

"2021" == 2021?

Další porovnání

  • >
  • <
  • <=
  • >=

Spojování booleanových hodnot

  • && - a zároveň
  • || - a nebo
  • ! - neplatí

Závorky usměrnují pořadí operací.

Jednořádková podmínka

Objekty

Objekty

  • způsob uložení dat programu
  • jedná se o pár jméno - hodnota
  • hodnota může být cokoliv - klidně i další objekt
  • podobá se Dictionary z C#
  • lze procházet cyklem typu for in

Ukázka objektů

Přístup

Procházení

Pole

Pole

  • způsob uložení dat programu
  • stejně jako proměnné se ukládá v operační paměti
  • v JS: nemá pevně stanovenou velikost
  • v JS: nemá pevně stanovený datový typ
  • lze procházet cyklem typu for in

Vytvoření

Přidávání

Čtení

Velikost

Pomocné metody

Hledání - find a filter

Přemapování - map

Procházení

Redukce - reduce

Čtení argumentů

Čtení argumentů

  • když spustíme program pomocí prostředí Node.js
  • zadáváme argumenty
  • ty můžeme číst pomocí process.argv

Ukázka

Děkuji za pozornost!

  • matej.cajthaml@ssps.cz
  • https://ssps.cajthaml.eu/