Sobes.tech

Frontend

Vue 2 և Vue 3: ինչպիսի՞ն են Vue 2-ի ռեակտիվության ճարտարապետական սահմանափակումները, որոնք ստիպեցին Էվան Յու-ին վերաշարադրել շարժիչը `Proxy`-ի օգտագործմամբ։

184

Վերլուծեք տրամադրված Vue կոդը. որոնք փոփոխականները ռեակտիվ են, որտեղ ռեակտիվությունը կորում է և ինչպես դա ուղղել?

147

Երբ ծանր ֆրոնտենդային հավելվածի բեռնումը օպտիմալացնում եք 150 փոքր պատկերակներով, արդյոք պետք է պատկերակները միացնել մեկ սպրայթում կամ օգտագործել CSS-inlining, երբ օգտագործվում է HTTP/2 կամ HTTP/3?

139

Նշեք տրամադրված կոդի համար կոնսոլի ելքի հերթականությունը `setTimeout`, `Promise` և սինխրոնային `console.log`-ով, բացատրելով դա Event Loop-ի միջոցով։

130

Եթե `setup`-ի մեջ ստեղծեք `setInterval` կամ ավելացնեք իրադարձության հոսողին `window`-ին, արդյոք դրանք ավտոմատորեն կհեռացվեն կոմպոնենտի անջատման ժամանակ?

121

Նկարագրեք, որ մակրոտվյալների հերթում հինգ `setTimeout` կան, իսկ միկրոտվյալները անընդհատ ավելացնում են նոր միկրոտվյալներ, օրինակ՝ ռեկուրսիվ `Promise.resolve().then()`-ով: Ի՞նչ կլինի ինտերֆեյսի հետ և արդյոք երբևէ այդ հինգ տայմաութները կիրականացնե՞ն: Ինչու՞:

118

Օգտագործողը արագ մուտքագրում է որոնման դաշտում: Ինչ է `debounce`, `throttle` և `AbortController` միջև տարբերությունը UX և ցանց/բեկենդ բեռի տեսանկյունից? Որն է ավելի լավ կենդանի որոնման համար?

118

Կատարեք `debounce` ֆունկցիա, որը աջակցում է անմիջական կանչին իրադարձությունների շարք սկզբում (`leading`), որպես կանխադրված՝ շարք վերջում trailing-կոչը և `debounceFunc.cancel()` մեթոդը՝ պլանավորված կանչը չեղարկելու համար։

118

Իմացեք, թե ինչպես իրականացնել `SnakeCase` տիպ, որը խորը փոխում է օբյեկտի բանալիքները `camelCase`-ից `snake_case`-ին, պահպանելով տիպի անվտանգությունը։

115

Պարզեցված `reactive(object)` ֆունկցիան իրականացրեք, որը նման է Vue 3-ին: երբ կարդում եք հատկությունը, կանչեք `track(target, key)`, իսկ երբ փոփոխում եք հատկությունը, կանչեք `trigger(target, key)`։

108