Sobes.tech
Junior

Функцияны аныктоо үчүн эки жолдун айырмасы эмнеде?

sobes.tech AI

AIден жооп

Негизги айырмасы — this контекстинде.

Функцияны аныктоо ыкмасы Аермасы
функция декларациясы this контексти, функцияны кандайча чакырганына карап аныкталат. Ал код ишке ашырылгандан мурун көтөрүлөт (hoisting).
сүрөттөө функциясы this контексти айлананын (лексикалык) контекстинен мурас алат. Көтөрүлбөйт (hoisting жок).
// функцияны аныктоо
function калыптыФункция() {
  console.log(this); // `this` чакырууга көз каранды
}

// сүрөттөө функциясы
const сүрөттөөФункциясы = () => {
  console.log(this); // `this` функция аныкталган контексттен мурас алат
};

Сүрөттөө функциялары өзүнүн arguments объектисине ээ эмес (сырткы контексттен алынады) жана new оператору менен куруучу катары колдонулбайт.