Implementa una classe di archiviazione secondo il pattern «Observer»: la classe memorizza i dati, permette di iscriversi e disiscriversi da funzioni di callback, e al cambiamento dei dati, notifica tutti gli attuali iscritti, passando loro i nuovi dati.
Frontend
Perché una funzione in JavaScript è considerata un oggetto, anche se typeof restituisce "function"?
Il metodo sort modifica l'array originale o no? Come fare un ordinamento non mutante?
Quali altri metodi di array conosci, oltre a reduce (ordinamento, filtraggio, metodi mutanti, ecc.)?
Cosa succede nel browser dopo aver inserito l'URL nella barra degli indirizzi?
Cos'è la parola chiave satisfies in TypeScript? Quando e come viene usata?
Perché hai deciso di considerare altre offerte? Cosa non va nel tuo attuale lavoro o cosa ti ha spinto a cercare un nuovo posto?
Se si mette un listener di eventi sul div genitore invece che sull'input stesso, il gestore dell'evento input si attiverà all'interno (spiega il meccanismo di bubbling degli eventi)?
Cosa significa il trattino basso nel nome di una proprietà di classe, ad esempio _data, e rende la proprietà privata?
Come copiare un oggetto (tipo non primitivo) in modo che le modifiche nella copia non influenzino l'originale?
Come funziona enum in TypeScript — cosa succede con le chiavi e i valori se i valori non sono specificati o sono specificati esplicitamente?
Come è stata implementata nel vostro piano la validazione dei moduli?
Cosa cambierà nei risultati su tutte e tre le righe se trasformi la funzione getName in una funzione freccia?
Perché è possibile chiamare metodi incorporati, come toString, sui tipi primitivi?
Cosa verrà visualizzato nella console alle righe 12, 13 e 14 del codice con diverse chiamate alla funzione, dato un oggetto con il metodo getName?
Qual è la differenza tra il tipo void e never in TypeScript?
Hai lavorato con la libreria Zod?
Scrivi i tipi per la funzione reduce usando i generics (tipo di array, callback con accumulatore, valore corrente, indice, valore iniziale).
Come assegnare un oggetto in modo che non sia un trasferimento per riferimento (come copiare un oggetto, superficialmente e profondamente)?
Qual è il tipo dell'elemento input in TypeScript se lo ottieni tramite querySelector?