Тікелей функциялардың қандай ерекшеліктері бар?
sobes.tech AI
AI-дан жауап
JavaScript-те стрелкалы функциялардың ерекшеліктері:
-
thisлексикалық байланысы: стрелкалы функциялар өздерініңthisконтекстіне ие емес, олар оны қоршаған аймақтан мұраға алады. Бұл колбектер ішінде контекстті сақтау үшін ыңғайлы. -
argumentsжоқ: стрелкалы функцияларда өздерініңargumentsобъектісі жоқ. Аргументтерге қол жеткізу үшін параметрлер немесе rest-параметрлерді пайдалану керек. -
Құрылым ретінде қолдануға болмайды: стрелкалы функцияларды
newарқылы шақыруға болмайды, оларда ішкі[[Construct]]әдісі жоқ. -
prototypeжоқ: стрелкалы функциялардаprototypeқасиеті болмайды. -
Қысқа синтаксис: егер функцияның денесі бір ғана өрнектен тұрса, фигуралы жақшалар мен
returnсөзін жазбай-ақ қоюға болады.
Мысал:
const add = (a, b) => a + b;
const obj = {
value: 10,
increment: function() {
setTimeout(() => {
this.value++;
console.log(this.value); // `this` `obj`-ке сілтеме жасайды
}, 1000);
}
};
obj.increment();
Мұнда setTimeout ішіндегі стрелкалы функция this-ті increment әдісінен мұраға алады.