Oto lista zagadnień, które warto powtórzyć przed warsztatem, oraz tematów fakultatywnych do zgłębiania we własnym zakresie.
<aside>
💡 W poniższych przykładach używamy .. (dwóch kropek) do zaznaczenia miejsc, w których kod został pominięty. Nie mylić z ... (trzema kropkami), czyli ze spread operator, który jest poprawną składnią JS.
</aside>
Tematy, których rozumienie przyda się w trakcie warsztatu. Najlepiej mieć już z nimi trochę doświadczenia. Postaramy się nie spędzać na nich zbyt dużo czasu.
if .. else i predykaty
foo < 0, foo <= 0foo === 0, foo !== 0if (foo) sprawdza, czy foo jest truthy czy falsy
0 i "" (pusty string) są falsy.arr.length > 0.for (let elem of array)for (let i = 0; i < array.length; i++)arr[0], arr[i]obj.prop to to samo co obj["prop"]a = "prop", to można też napisać obj[a]let foo = .., foo(..), itd.)arg => expression albo arg => { .. }.(arg1, arg2) => ...() => ...undefined (lub kiedy nie został przekazany; wtedy też jest undefined), parametr przyjmie domyślną wartość zdefiniowaną po znaku =.function foo(arg = 1) { .. }Math.random()<m, n).
m + Math.random() * (n - m)boolean, number, string,Klasa, Interfejs{foo: number}
fn(obj: {foo: number}), co oznacza, że funkcja bierze jako pierwszy argument obiekt, który musi przynajmniej mieć własność foo, która jest liczbąArray<number>
number[]let foo: number = 1;square(x: number): numberlet foo = 1;
foo jest tutaj typu number.interface Foo {prop?: number} to to samo co:interface Foo {prop: number | undefined}enum to sposób na używanie czytelnych nazw dla pewnych stałych, głównie liczbowych.
enum DrawKind {Rect, Circle}
DrawKind.Rect ma tutaj wartość 0.DrawKind.Circle ma wartość 1.enum DrawKind {Rect = 4, Circle}.DrawKind.Rect ma tutaj wartość 4.DrawKind.Circle ma wartość 5 (kolejną liczbę całkowitą).