Middle
Неге JavaScriptте 'this' ачкыч сөзүн колдонууга болбойт?
sobes.tech AI
AIден жооп
Бул this сөлөкөт функцияларда өзүнүн контекстине байланыштыруу үчүн колдонулбайт. Сөлөкөт функциялар өзүнүн this-ин түзбөйт, ал эми аны аныкталган чөйрөдөн мурас катары алат.
Ошондой эле, this асинхрондук операциялардын кайтаруу чакырууларында же иш-чара иштетүүчүлөрүндө так эмес, анткени анын мааниси өзгөрүшү мүмкүн же глобалдык объектке (жол берилбеген режимде) же undefinedке айланат (катуу режимде).
Мисал:
функция салттуу() {
console.log(this); // this чакыруудан көз каранды
}
const стрелкаФункция = () => {
console.log(this); // this сырткы чөйрөдөн мурас алат
};
объект = {
метод: салттуу
};
объект.метод(); // this - объект
салттуу(); // this - глобалдык объект (window / global)
объект2 = {
метод: стрелкаФункция
};
объект2.метод(); // this - мурас. Эгер глобалдык чөйрөдө аныкталган болсо, анда global/window.