Junior
Функцияны аныктоо үчүн эки жолдун айырмасы эмнеде?
sobes.tech AI
AIден жооп
Негизги айырмасы — this контекстинде.
| Функцияны аныктоо ыкмасы | Аермасы |
|---|---|
функция декларациясы |
this контексти, функцияны кандайча чакырганына карап аныкталат. Ал код ишке ашырылгандан мурун көтөрүлөт (hoisting). |
сүрөттөө функциясы |
this контексти айлананын (лексикалык) контекстинен мурас алат. Көтөрүлбөйт (hoisting жок). |
// функцияны аныктоо
function калыптыФункция() {
console.log(this); // `this` чакырууга көз каранды
}
// сүрөттөө функциясы
const сүрөттөөФункциясы = () => {
console.log(this); // `this` функция аныкталган контексттен мурас алат
};
Сүрөттөө функциялары өзүнүн arguments объектисине ээ эмес (сырткы контексттен алынады) жана new оператору менен куруучу катары колдонулбайт.