Izstrādājiet glabāšanas klasi pēc «Novērotāja» modeļa: klase glabā datus, ļauj abonēt un atcelt abonēšanu ar callback funkcijām, un datu izmaiņu gadījumā informē visus pašreizējos abonentus, nododot viņiem jaunus datus.
Frontend
Vai metode sort maina sākotnējo masīvu vai nē? Kā veikt nemainīgu kārtošanu?
Kāpēc JavaScript funkcija tiek uzskatīta par objektu, lai gan typeof tās atgriež "function"?
Kādus citus masīvu metodes jūs zināt, izņemot reduce (kārtošana, filtrēšana, mutējošas metodes utt.)?
Kāpēc jūs nolēmāt apsvērt citas iespējas? Kas nav kārtībā jūsu pašreizējā vietā vai kas jūs motivēja meklēt jaunu vietu?
Ja uzstādāt notikumu klausītāju uz vecāko div, nevis uz pašu input, vai notikumu apstrādātājs iekšpusē (izskaidrojiet notikumu burbuļošanas mehānismu)?
Kas ir satisfies atslēgvārds TypeScript? Kad un kā tas tiek izmantots?
Ko nozīmē apakšsvītra klases īpašuma nosaukumā, piemēram, _data, un vai tas padara īpašumu privātu?
Kas notiek pārlūkprogrammā pēc URL ievadīšanas adreses joslā?
Kā nokopēt objektu (neprimitiīvu tipu), lai izmaiņas kopijā neietekmētu oriģinālu?
Kā jūsu plānā tika īstenota formu validācija?
Ko parādīs konsolē 12., 13. un 14. rindās, dažādi izsaucot funkciju, ja ir objekts ar getName metodi?
Kāda ir atšķirība starp void un never tipiem TypeScript?
Kas mainīsies rezultātos visās trīs rindās, ja pārvērsīsiet getName funkciju uz bultiņas funkciju?
Kā darbojas enum TypeScript — kas notiek ar atslēgām un vērtībām, ja vērtības nav norādītas vai ir norādītas tieši?
Uzrakstiet reduce funkcijas ar generiku palīdzību (masīva tips, callback ar akumulatoru, pašreizējā vērtība, indekss, sākotnējā vērtība).
Kāpēc ir iespējams izsaukt iebūvētos metodes, piemēram, toString, primitivajiem tipiem?
Vai esat strādājis ar Zod bibliotēku?
Kā piešķirt objektu tā, lai tas nebūtu atsauces pārraidīšana (kā kopēt objektu, virspusēji un dziļi)?
Kāda ir ievades elementa tips TypeScript, ja to iegūstat, izmantojot querySelector?