Middle
რა განსხვავებაა სროლა ფუნქციასა და ჩვეულებრივი სახელწოდების ფუნქციას შორის?
sobes.tech AI
პასუხი AI-სგან
JavaScript-ში სლაკური ფუნქციები განსხვავდება ჩვეულებრივი სახელწოდებული ფუნქციებისგან რამდენიმე ძირითადი საკითხით:
thisკონტექსტი: სლაკური ფუნქციები არ აქვთ საკუთარიthis; ისინი მემკვიდრეობით იღებენthis-ს გარშემომყოფ ლექსიკალურ კონტექსტიდან. ჩვეულებრივი ფუნქციები აქვს საკუთარიthis, რომელიც დამოკიდებულია გამოძახების მეთილზე.arguments-ის არარსებობა: სლაკური ფუნქციები არ აქვთargumentsობიექტი. არგუმენტების მისაწვდომად უნდა გამოიყენოთ პარამეტრები ან რესტ პარამეტრები.- შეუძლებელია როგორც კონსტრუქტორი გამოყენება: სლაკური ფუნქციები ვერ გამოიძახებთ
new-ით. - სინტაქსი: სლაკური ფუნქციები მოკლე და მოსახერხებელია მოკლე ფუნქციების დაწერაში.
მაგალითი:
const obj = {
value: 42,
regularFunc: function() { return this.value; },
arrowFunc: () => this.value
};
console.log(obj.regularFunc()); // 42
console.log(obj.arrowFunc()); // არახელსაყრელი, რადგან `this` არ მიუთითებს `obj`-ზე