📖
Teorie
Funkce jako základní stavební blok: parametry, návratová hodnota, scope, closure (uzávěr), higher-order functions. Lambda (arrow) funkce: krátké anonymní funkce, často používané jako callbacky.
🎯
Tahák
- 1Pure function vs. impure
- 2Closure zachovává okolní scope
- 3Higher-order functions přijímají funkce jako parametry
❓
Typické otázky u maturity
- 1Co je closure?
- 2Kdy použít pure function?
🏷️
Klíčová slova
functionclosurelambdaHOF
⚡
Praktická část
Zadání:
Ukázka: napište funkci 'once' která provede danou funkci pouze jednou.
Kroky:
- 1Použij closure pro uložení flagu
- 2Vrátit obalenou funkci
Kód:
once.ts
export function once<T extends (...a:any[])=>any>(fn: T){
let called = false;
let res: any;
return function(...args:any[]){
if(!called){ called = true; res = fn(...args); }
return res;
}
}