Чӣ гуна истифодаи функсияҳои ишоракунӣ аз функсияҳои стандартӣ дар 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(); // мебарорад undefined
Аз ин рӯ, интихоби байни функсияи стрелка ва функсияи оддӣ вобаста аст аз ниёз ба идоракунии муҳит ва хусусиятҳои истифода.