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 կոդում, արդյոք թղթապանակը կթարմացվի երբ սեղմեք կոճակը?
Եթե `setup`-ի մեջ ստեղծեք `watch` կամ `computed`, ինչ կլինի նրանց հետ՝ երբ կոմպոնենտը հանվի?
Նշեք տրամադրված կոդի համար կոնսոլի ելքի հերթականությունը `setTimeout`, `Promise` և սինխրոնային `console.log`-ով, բացատրելով դա Event Loop-ի միջոցով։
Եթե դուք նշանակեք `state.userName = 'Max'`, արդյոք `h1`-ի բովանդակությունը փոխվի՞։
Եթե `setup`-ի մեջ ստեղծեք `setInterval` կամ ավելացնեք իրադարձության հոսողին `window`-ին, արդյոք դրանք ավտոմատորեն կհեռացվեն կոմպոնենտի անջատման ժամանակ?
Նկարագրեք, որ մակրոտվյալների հերթում հինգ `setTimeout` կան, իսկ միկրոտվյալները անընդհատ ավելացնում են նոր միկրոտվյալներ, օրինակ՝ ռեկուրսիվ `Promise.resolve().then()`-ով: Ի՞նչ կլինի ինտերֆեյսի հետ և արդյոք երբևէ այդ հինգ տայմաութները կիրականացնե՞ն: Ինչու՞:
Օգտագործողը արագ մուտքագրում է որոնման դաշտում: Ինչ է `debounce`, `throttle` և `AbortController` միջև տարբերությունը UX և ցանց/բեկենդ բեռի տեսանկյունից? Որն է ավելի լավ կենդանի որոնման համար?
Կատարեք `debounce` ֆունկցիա, որը աջակցում է անմիջական կանչին իրադարձությունների շարք սկզբում (`leading`), որպես կանխադրված՝ շարք վերջում trailing-կոչը և `debounceFunc.cancel()` մեթոդը՝ պլանավորված կանչը չեղարկելու համար։
Իմացեք, թե ինչպես իրականացնել `SnakeCase` տիպ, որը խորը փոխում է օբյեկտի բանալիքները `camelCase`-ից `snake_case`-ին, պահպանելով տիպի անվտանգությունը։
Ի՞նչ և քանի անգամ կգրվի կոնսոլում, երբ կտտացնեք կոճակին տրամադրված Vue կոդում։
Պարզեցված `reactive(object)` ֆունկցիան իրականացրեք, որը նման է Vue 3-ին: երբ կարդում եք հատկությունը, կանչեք `track(target, key)`, իսկ երբ փոփոխում եք հատկությունը, կանչեք `trigger(target, key)`։
Ի՞նչ է `prototype` աղտոտման թերությունը։