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());   // անորոշ, քանի որ `this`-ը ցույց չի տալիս `obj`-ին