TypeScript: каква е разликата между типовете `any`, `unknown` и `never`?
Frontend
Vue 2 и Vue 3: какви архитектурни ограничения на реактивността на Vue 2 принудиха Еван Ю да препише двигателя с помощта на `Proxy`?
JavaScript: каква е разликата между `prototype` и `__proto__`?
Vue 3: каква е фундаменталната разлика между `ref` и `reactive`, включително как работят под капака?
Ако `Proxy` е толкова добър, защо Vue 3 все още има `ref`?
Анализирайте предоставения Vue код: кои променливи са реактивни, къде се губи реактивността и как да я поправите?
При оптимизация на зареждането на тежко фронтенд приложение с 150 малки иконки, трябва ли иконите да се комбинират в един спрайт или да се използва CSS-inlining при използване на HTTP/2 или HTTP/3?
Може ли `debounce` да се комбинира с `AbortController`?
В предоставения Vue код, ще се актуализира шаблонът при натискане на бутона?
Ако създадете `watch` или `computed` вътре в `setup`, какво ще се случи с тях при демонтиране на компонента?
Определете реда на изход в конзолата за предоставения код с `setTimeout`, `Promise` и синхронен `console.log`, като го обясните чрез Event Loop.
Ако зададете `state.userName = 'Max'`, ще се промени ли съдържанието на `h1`?
Ако създадете `setInterval` или добавите слушател на събития към `window` вътре в `setup`, ще бъдат ли автоматично премахнати при демонтиране на компонента?
Представете си опашка от макро задачи с пет `setTimeout`, а микро задачите безкрайно добавят нови микро задачи, например чрез рекурсивен `Promise.resolve().then()`. Какво ще се случи с интерфейса и дали някога тези пет таймаута ще се изпълнят? Защо?
Потребителят бързо въвежда текст в полето за търсене. Каква е разликата между `debounce`, `throttle` и `AbortController` от гледна точка на UX и натоварване на мрежата/бекенда? Кой е по-добър за живо търсене?
Реализирайте функция `debounce`, която поддържа незабавно извикване в началото на серия от събития (`leading`), извикване в края на серията по подразбиране и метод `debounceFunc.cancel()` за отменяне на планираното извикване.
Реализирайте тип `SnakeCase`, който дълбоко преобразува ключовете на обект от `camelCase` в `snake_case`, като запази типова безопасност.
Какво и колко пъти ще бъде записано в конзолата при натискане на бутона в предоставения Vue код?
Реализирайте опростена функция `reactive(object)`, която имитира Vue 3: при четене на свойство извикайте `track(target, key)`, а при промяна на свойство — `trigger(target, key)`.
Каква е уязвимостта на замърсяване на прототипа?