Middle
Уч ишара функциясы менен кадимки аталыштуу функциянын айырмасы эмнеде?
sobes.tech AI
AIден жооп
JavaScriptтеги стрелкалык функциялар жөнөкөй аталыштуу функциялардан бир нече негизги жагдайда айырмаланат:
thisконтексти: Стрелкалык функциялар өзүнүнthis-ине ээ эмес; алар айланасындагы лексикалык контексттенthis-ти мурас алышат. Адистик функциялар өзүнүнthis-ине ээ жана чакырылыш ыкмасына көз каранды.argumentsжоктугу: Стрелкалык функцияларargumentsобъектисине ээ эмес. Аргументтерге жетүү үчүн параметрлер же REST параметрлерин колдонуу керек.- Курулуш катары колдонулбайт: Стрелкалык функцияларды
newменен чакырса болбойт. - Синтаксис: Стрелкалык функциялар кыска жана кыска функцияларды жазуу үчүн ыңгайлуу.
Мисал:
const obj = {
value: 42,
regularFunc: function() { return this.value; },
arrowFunc: () => this.value
};
console.log(obj.regularFunc()); // 42
console.log(obj.arrowFunc()); // белгисиз, анткени `this` `obj`ке көрсөтпөйт