Implementujte třídu úložiště podle vzoru «Pozorovatel»: třída ukládá data, umožňuje přihlášení a odhlášení callback funkcí, a při změně dat upozorňuje všechny aktuální odběratele, předávajíc jim nová data.
Frontend
Metoda sort mění původní pole nebo ne? Jak udělat nemutující řazení?
Proč je funkce v JavaScriptu považována za objekt, i když typeof pro ni vrací "function"?
Jaké další metody polí znáte, kromě reduce (řazení, filtrování, mutační metody atd.)?
Pokud umístíte posluchač událostí na rodičovský div místo na samotný input, spustí se uvnitř obslužný program události input (vysvětlete mechanismus bubblingu událostí)?
Co znamená podtržítko v názvu vlastnosti třídy, například _data, a dělá ji soukromou?
Proč jste se rozhodli zvážit jiné nabídky? Co není v pořádku na vašem současném místě nebo co vás přimělo hledat nové místo?
Co je klíčové slovo satisfies v TypeScriptu? Kdy a jak se používá?
Jak byla ve vašem plánu realizována validace formulářů?
V čem se liší typ void od never v TypeScriptu?
Jak zkopírovat objekt (neprimitivní typ), aby změny v kopii neovlivnily originál?
Co se děje v prohlížeči po zadání URL do adresního řádku?
Co se zobrazí v konzoli na řádcích 12, 13 a 14 kódu při různých voláních funkce, pokud je objekt s metodou getName?
Co se změní v výsledcích na všech třech řádcích, pokud přeměníte funkci getName na šipkovou funkci?
Jak přiřadit objekt tak, aby to nebyl odkazový přenos (jak zkopírovat objekt, povrchově a hloubkově)?
Jak funguje enum v TypeScriptu — co se stane s klíči a hodnotami, pokud hodnoty nejsou uvedeny nebo jsou uvedeny explicitně?
Pracoval jste s knihovnou Zod?
Jaký je typ elementu input v TypeScriptu, pokud ho získáte přes querySelector?
Napište typy pro funkci reduce s použitím generik (typ pole, callback s akumulátorem, aktuální hodnotou, indexem, počáteční hodnotou).
Proč je možné volat vestavěné metody, například toString, u primitivních typech?