پرشین تم مقالات وراثت تابع و تابع 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
آخرین مقالات
آموزش کامل و جامع Git آموزش کامل و جامع Git Git یک سیستم کنترل نسخه قدرتمند که برای مدیریت و ردیابی تغییرات در کد شما ضروری است. ما در این آموزش اصول اولیه را پوش...
category برنامه نویسی 21 دی 1403
React چیست؟ آشنایی با اصول و تاریخچه React React چیست؟ آشنایی با اصول و تاریخچه React React که با نام‌های React.js یا ReactJS نیز شناخته می‌شود، یک کتابخانه جاوا اسکریپت برای ساخت رابط‌های کاربری است که ت...
category برنامه نویسی 19 دی 1403
معرفی React و سرفصل های دوره آموزش React معرفی React و سرفصل های دوره آموزش React React یک کتابخانه محبوب جاوا اسکریپت است که برای ساخت رابط های کاربری، به ویژه برنامه های تک صفحه ای استفاده می شود. ا...
category برنامه نویسی 19 دی 1403