Quelles options de configuration du fournisseur Angular connaissez-vous : useClass, useExisting, useValue et useFactory ? Quand les utiliser ?
Frontend
Comment allons-nous consulter l'historique des messages s'il est très volumineux ? Comment mettre en œuvre la pagination ?
Fais en sorte que le message de victoire/défaite disparaisse pendant la rotation du tambour.
Regardez le code avec la classe qui a un constructeur avec le champ multiplier, la méthode add pour ajouter des nombres au tableau et la méthode getMultiSum, implémentée via une fonction normale. Que sera affiché dans la console lors de l'exécution de ce code?
Si vous devez augmenter le nombre de rouleaux (barres), par exemple jusqu'à dix, comment rendre l'implémentation flexible pour ne pas stocker manuellement les valeurs pour chaque rouleau (par exemple, via le paramètre numberOfRollers et Array.from) ?
Cela fonctionnera-t-il correctement si on passe clearCache non pas via une closure (callback), mais comme une référence directe à la méthode map.clear (par exemple, clearCache = cache.clear) ? Comment corriger cela ?
Troisième partie de la tâche TypeScript : créez un nouveau type basé sur le type Delivery, où tous les champs sont optionnels (peuvent avoir la valeur undefined) et ne peuvent pas modifier leur valeur (readonly). Utilisez les types utilitaires Partial et Readonly.
Avez-vous de l'expérience dans l'écriture de vos propres opérateurs RxJS?
Comment corriger les re-rendus excessifs pour que, en cliquant sur 'Rerender', seul App soit re-rendu, et lors de la saisie de texte, seul Parent (sans Child) ?
Quels projets avez-vous dû concevoir : à partir de zéro ou de grands blocs architecturaux?
Pourquoi dans l'implémentation de promiseAll faut-il se fier au compteur count plutôt que de simplement vérifier la longueur du tableau des résultats?
// Il y a aussi 25 objets qui // ont un identifiant privé et une méthode pour l'assigner // ainsi qu'un champ de date de création. // L'identifiant peut contenir un nombre ou une chaîne. // Le champ de création peut aussi contenir une chaîne ou un nombre. // Les types pour la date de création et l'identifiant correspondent (soit chaîne, soit nombre) // Décrivez un type pour de tels objets let a = { getId: () => createdId: [phone] } let b = { getId: () => 'id', createdAt: '[phone]T20:00:00Z' } // cet objet NE doit PAS correspondre au type: let c = { getId: () => 56, createdAt: '[phone]T20:00:00Z' }
Quels types de Subject existent dans RxJS?
Les pièces de Tetris tombent verticalement en ordre séquentiel. Les pièces ne peuvent pas être déplacées ou tournées - trouvez simplement la hauteur de la tour obtenue. L'ordre de chute des pièces est déterminé par un tableau de nombres 1, 2 ou 3. Les pièces sont montrées ci-dessous. findHeight([1,2,3]) => 7 findHeight([1,1,1,1]) => 12
Vous devez écrire un type TypeScript qui convient à la fois pour une fonction renvoyant un nombre et pour une fonction renvoyant une chaîne (via un générique), mais ne doit pas passer si les types de retour sont différents.
Que se passera-t-il si au lieu d'une classe, on utilise un objet ordinaire avec les mêmes méthodes (sans mode strict) ?
Implémentez la fonction memoize, qui met en cache le résultat de l'appel de la fonction pour des arguments identiques (primitifs), et ajoutez la méthode clearCache pour vider le cache.
Implémentez votre propre émetteur d'événements avec des méthodes d'abonnement, de désabonnement et de génération d'événements (on, off, emit). Stockez les gestionnaires d'événements, vérifiez leur fonctionnement avec des données de test et supportez les appels chaînés de méthodes.
En se basant sur Partial<Delivery>, créez un nouveau type en ne prenant que les champs name et address. Quel type utilitaire convient-il pour cela?
Deuxième partie de la tâche TypeScript : transformez tous les champs de l'objet de type Delivery en un nouveau type, en utilisant les types utilitaires de TypeScript.