Program Workshopu
- Co to jest HTML.
- Tworzymy index.html - znaczniki
head
,meta
(google, wyszukiwanie),body
(content ‘na sztywno’). - Dodajemy skrypt JS - tworzenie pliku,
console.log
. - Słowo o Node.js. Wykonanie skryptu z poziomu node.js / IDE.
- Znaczniki HTML -
div
,p
,ul
>li
.
- Zmienne (let) - deklaracja, przypisywanie wartości liczbowej, wyświetlanie.
- Operacje na zmiennej liczbowej (+, +=, *, operator ++). Przypisywanie wyniku do zmiennej.
- Napis i operacje (+, tworzenie nowego napisu, zmiana istniejącego, substring, includes, indexOf).
- Wartość logiczna (operatory && || - opowiedzieć tylko, że możemy łączyć "matematycznie" i używać do warunkowego wykonywania kodu).
- Typ danych - skąd JS wie, co jest napisem, a co liczbą? Nie zawsze wie dobrze - przykład z dodawaniem napisu i cyfry. Niejawna konwersja. (tylko wspomieć, bez szczegółów i tablicy porównań ;)
- Tablica - elementy tablicy,
length
. Dodawanie elementów. - Tablica - napis jako tablica znaków. Split & join, przykład również na cyfrach i mieszanych elementach ([1, 'abc', true]) - znowu niejawna konwersja.
Typy specjalnie -null
iundefined
Typy proste i obiektowe- Zadanie projektowe Stwórzmy tablicę ulubionych słów z języka polskiego (albo książek).
If
,else
,else if
.
- Standardowa pętla
for
(var i = 0 ; i ... ; ++i ) { ... } - wypisujemy w konsoli naszą tablicę. - Pętla
while
- różnice w zastosowaniu. Pętlafor
jakowhile
. - Kiedy stosować którą? Czytelność kodu, oczekiwanie na warunek kontra wykonywanie akcji na każdym elemencie tablicy.
-
Co to jest DOM - przykład z devToolsami, hierarchia, struktura, "rodzic" -< "dzieci".
-
Obiekt ‘window’ i jego cel, podstawowe API.
-
Pobieranie Elementu drzewa (atrybuty znacznika: class, id oraz inne).
-
Zmiana zawartości Elementu (
innerHTML
). -
Dodawanie Elementu do "rodzica".
-
Zadanie projektowe Wyświetlenie na stronie tablicy elementów z wybranej kolekcji.
-
Zadanie projektowe Pogrubienie wybranych elementów tablicy:
- Instrukcja
if
w pętli dodającej elementy z kolekcji. - Warunek - może być ilość znaków, napis rozpoczynający się od wybranych liter, zawierający znaki xyz...
- "Opakowanie" w znacznik
<b>...</b>
.
- Instrukcja
- Co to jest funkcja - powielanie funkcjonalności kodu.
- Argumenty funkcji (wspomnienie o
arguments
i CLI). - Zadanie projektowe "Opakowanie" dotychczasowej funkcjonalności w funkcję:
- Napisz nową funkcję.
- Pierwszym argumentem tej funkcji powinien być identyfikator.
- Drugi argument to tablica napisów.
- Dopisz nowy znacznik z innym identyfikatorem.
- Dodaj tablicę z kolekcją osoby po Twojej prawej stronie.
- Wywołaj dwukrotnie funkcję dla par argumentów.
- Znacznik
input
. - Pobieranie zawartości. (console.log w devTools)
- Znacznik
button
- Atrybut
onclick
- Atrybut
onclick
w kodzie JS. - Zadanie projektowe Dodawanie nowego elementu kolekcji:
- Umieść na stronie przycisk z napisem "Dodaj".
- Akcja
onclick
powinna wywoływać nową funkcjęaddToCollection
. - Funkcja
addToCollection
powinna dodawać treść z pola tekstowego (input
) do tablicy.
- Obiekt jako zbiór kluczy (napisów) i wartości - jak książka telefoniczna
- Funkcje - wartości zwracane
- Zapoznanie się z słowami kluczowymi
var
orazconst
, co to jesthoisting
- Obiekty -
{}
,Object.keys
,Set
orazMap
- Nowości z
ES6
orazES5
(nowy standard; arrow function, .map, template literals, spread operator ...) - Podstawy
CSS
- Mechanizm
Promise
- Koncepcje struktury projektu (tematycznie, funkcjonalnie)
LocalStorage
- Struktura plików (tematycznie, funkcjonalnie)
- Unit Test
- Node.js i dostęp do systemu operacyjnego
- ...