TypeScript : quelle est la différence entre les types `any`, `unknown` et `never` ?
Frontend
Vue 2 et Vue 3 : quelles limitations architecturales de la réactivité de Vue 2 ont obligé Evan You à réécrire le moteur en utilisant `Proxy` ?
JavaScript : quelle est la différence entre `prototype` et `__proto__` ?
Vue 3 : quelle est la différence fondamentale entre `ref` et `reactive`, y compris leur fonctionnement sous-jacent ?
Si `Proxy` est si bon, pourquoi Vue 3 a-t-il encore `ref` ?
Analysez le code Vue fourni : quelles variables sont réactives, où la réactivité est perdue et comment la corriger ?
Lors de l'optimisation du chargement d'une application frontend lourde avec 150 petites icônes, faut-il combiner les icônes en une seule sprite ou utiliser le CSS-inlining avec HTTP/2 ou HTTP/3 ?
Peut-on combiner `debounce` avec `AbortController` ?
Dans le code Vue fourni, la template sera-t-elle mise à jour lors du clic sur le bouton ?
Si vous créez un `watch` ou `computed` dans `setup`, que leur arrivera-t-il lors du démontage du composant ?
Déterminez l'ordre d'affichage dans la console pour le code fourni avec `setTimeout`, `Promise` et `console.log` synchrone, en l'expliquant à travers la boucle d'événements.
Si vous assignez `state.userName = 'Max'`, le contenu de `h1` changera-t-il ?
Si vous créez un `setInterval` ou ajoutez un écouteur d'événements à `window` dans `setup`, seront-ils automatiquement supprimés lors du démontage du composant ?
Imaginez une file d'attente de macro-tâches avec cinq `setTimeout`, et des micro-tâches ajoutant infiniment de nouvelles micro-tâches, par exemple via une récursion `Promise.resolve().then()`. Que se passera-t-il avec l'interface et ces cinq timeouts s'exécuteront-ils un jour ? Pourquoi ?
L'utilisateur tape rapidement dans le champ de recherche. Quelle est la différence entre `debounce`, `throttle` et `AbortController` du point de vue UX et charge réseau/backend ? Lequel est préférable pour la recherche en direct ?
Implémentez une fonction `debounce` qui prend en charge une invocation immédiate au début d'une série d'événements (`leading`), une invocation en fin de série par défaut, et une méthode `debounceFunc.cancel()` pour annuler l'appel programmé.
TypeScript : implémentez un type `SnakeCase` qui transforme en profondeur les clés d'un objet de `camelCase` à `snake_case`, tout en maintenant la sécurité de type.
Que et combien de fois seront enregistrés dans la console lors du clic sur le bouton dans le code Vue fourni ?
Implémentez une fonction simplifiée `reactive(object)` qui imite Vue 3 : lors de la lecture d'une propriété, appelez `track(target, key)`, et lors de la modification d'une propriété, appelez `trigger(target, key)`.
Qu'est-ce que la vulnérabilité de pollution du prototype ?