پرشین تم مقالات وراثت تابع و تابع currying در جاوااسکریپت

وراثت تابع و تابع currying در جاوااسکریپت

image profile پرشین تم - 27 آبان 1403 - 15:03 دانلود مقاله

ما در این مقاله دو مورد از ویژگی های توابع جاوااسکریپت را با هم بررسی می کنیم . ویژگی واثت تابع و تابع currying که انعطاف پذیری بیشتری به توابع جاوااسکریپت می افزایند.

وراثت تابع و تابع currying در جاوااسکریپت

وراثت تابعی چیست؟

وراثت تابعی فرآیند به ارث بردن ویژگی ها با اعمال یک تابع تقویت کننده به یک نمونه شی است. این تابع یک محدوده بسته را ارائه می دهد که می توانید از آن برای خصوصی نگه داشتن برخی از داده ها استفاده کنید. تابع augmenting از پسوند شی پویا برای گسترش نمونه شی با ویژگی ها و روش های جدید استفاده می کند.

میکسین های عملکردی توابع کارخانه ای قابل ترکیب هستند که ویژگی ها و رفتارها را به اشیایی مانند ایستگاه های خط مونتاژ اضافه می کنند.

// Base object constructor function
function Animal(data) {
  var that = {}; // Create an empty object
  that.name = data.name; // Add it a "name" property
  return that; // Return the object
};

// Create achild object, inheriting from the base Animal
function Cat(data) {
  // Create the Animal object
  var that = Animal(data);
  // Extend base object
  that.sayHello = function() {
    return 'Hello, I\'m ' + that.name;
  };
  return that;
};

// Usage
var myCat = Cat({ name: 'Rufi' });
console.log(myCat.sayHello());
// Output: "Hello, I'm Rufi"

 

 

تابع currying چیست؟

تابع currying تابعی است که چندین آرگومان را می گیرد و آن را به دنباله ای از توابع با تنها یک آرگومان در یک زمان تبدیل می کند.

به این ترتیب، یک تابع n-ary تبدیل به یک تابع یکنواخت می شود و آخرین تابع نتیجه همه آرگومان ها را با هم در یک تابع برمی گرداند.

// Normal definition
function multiply(a, b, c) {
    return a * b * c;
};
console.log(multiply(1, 2, 3));
// Output: 6

// Simple curry function definition
function multiply(a) {
    return (b) => {
        return (c) => {
            return a * b * c;
        };
    };
};
console.log(multiply(1)(2)(3));
// Output: 6

 

 

با خرید اشتراک می توانید تا چندین برابر مبلغ خرید اشتراک خود قالب های HTML ، سورس کدهای آماده و یا مقالات دانلود کنید
شما می توانید تنها فقط با مبلغ 3,000,000 میلیون تومان وب سایت سفارسی برای خود داشته باشید
محبوب ترین مقالات
تفاوت بین CSS و SCSS چیست؟ تفاوت بین CSS و SCSS چیست؟
category برنامه نویسی 07 اسفند 1402
تفاوت بین RDBMS و DBMS تفاوت بین RDBMS و DBMS
category برنامه نویسی 02 فروردین 1403
کاوش در معماری GPT-3 کاوش در معماری GPT-3
category هوش مصنوعی 12 اسفند 1402
کلمات کلیدی در SQL کلمات کلیدی در SQL
category برنامه نویسی 01 خرداد 1403
تفاوت بین CSS، SASS و SCSS چیست؟ تفاوت بین CSS، SASS و SCSS چیست؟
category برنامه نویسی 13 اسفند 1402
انواع Join در SQL انواع Join در SQL
category برنامه نویسی 02 فروردین 1403
ChatGPT چیست؟ ChatGPT چیست؟
category هوش مصنوعی 12 اسفند 1402
آخرین مقالات
🎨 نظریه یا تئوری طراحی چیست؟ 🎨 نظریه یا تئوری طراحی چیست؟ نظریه طراحی چارچوب فکری است که نحوه درک، خلق و ارزیابی طراحی را هدایت می‌کند. این نظریه، فلسفه، زیبایی‌شناسی، عملکرد و...
category کامپیوتر 05 مرداد 1404
سفر من به داستان‌سرایی بصری - طراحی رابط کاربری و طراحی لوگو سفر من به داستان‌سرایی بصری - طراحی رابط کاربری و طراحی لوگو چگونه سفر خود را به سمت طراحی لوگو، گرافیک و رابط کاربری/تجربه کاربری آغاز کنید. برای موفقیت در طراحی لوگو، طراحی گراف...
category کامپیوتر 02 مرداد 1404
🧠 درک هوش مصنوعی- از مبانی تا مرزها 🧠 درک هوش مصنوعی- از مبانی تا مرزها هوش مصنوعی تقریباً هر صنعتی را تغییر شکل می‌دهد، در این مقاله با یک مرور کلی آکادمیک سطح بالا شروع کنیم و آن را به بخش...
category هوش مصنوعی 27 تیر 1404