Sobes.tech
Junior — Middle

JavaScriptте ок иш функцияларынын колдонулушу менен стандарттык функциялардын айырмасы эмнеде?

sobes.tech AI

AIден жооп

JavaScript-деги ок функциялары стандарттык функциялардан бир нече негизги жагынан айырмаланат:

  • this контекст: Ок функцияларда, this лексикалык жактан айланасынан мурас алат, башкача айтканда, өзүнүн this контекстин түзбөйт. Адистик функцияларда, this кандайча чакырылганына көз каранды.

  • arguments жоктугу: Ок функциялар өзүнүн arguments объектисине ээ эмес. Аргументтерге жетүү үчүн параметрлер же тышкы өзгөрмөлөрдү колдонуу керек.

  • Курулмучо катары колдонулбайт: Ок функцияларын new менен чакырса болот эмес, анткени алардын ички [[Construct]] методу жок.

  • Кыска синтаксис: Ок функциялары көбүнчө кыска жана кыска функцияларды жазуу үчүн ыңгайлуу.

Мисал:

const obj = {
  value: 10,
  regularFunc: function() {
    console.log(this.value); // 10
  },
  arrowFunc: () => {
    console.log(this.value); // белгисиз же сырткы контексттен мааниси
  }
};

obj.regularFunc(); // 10 чыгарат
obj.arrowFunc();   // белгисиз чыгарат

Ошентип, ок функциясы менен жөнөкөй функциянын ортосунда тандоо контекстти башкаруу зарылдыгына жана колдонуу өзгөчөлүктөрүнө көз каранды.