Sobes.tech
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());   // undefined, зеро `this` ба `obj` ишора намекунад