برنامه نویسی

برنامه نویسی کاربردی با TypeScript آسان شده است

برنامه نویسی تابعی یک الگوی برنامه نویسی است که بر استفاده از توابع خالص، تغییر ناپذیری و توابع درجه بالاتر تأکید دارد. TypeScript یک ابر مجموعه جاوا اسکریپت با تایپ قوی است که از برنامه نویسی شی گرا پشتیبانی می کند، اما ویژگی هایی را نیز برای برنامه نویسی عملکردی ارائه می دهد.

یکی از مفاهیم کلیدی در برنامه نویسی تابعی استفاده از توابع به عنوان شهروندان درجه یک است. این بدان معنی است که توابع می توانند به عنوان آرگومان به توابع دیگر ارسال شوند، به عنوان مقادیر از توابع برگردانده شوند و به متغیرها اختصاص داده شوند. TypeScript از این مفهوم پشتیبانی می کند، که نوشتن کد عملکردی را آسان می کند.

بیایید به چند نمونه از برنامه نویسی تابعی در TypeScript نگاهی بیندازیم.

توابع خالص

در برنامه نویسی تابعی، توابع خالص، توابعی هستند که عوارض جانبی ندارند و همیشه خروجی یکسانی را برای ورودی یکسان برمی گردانند. TypeScript از توابع خالص پشتیبانی می کند و نوشتن آنها آسان است. در اینجا یک مثال است:

function add(x: number, y: number): number {
  return x + y;
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این تابع دو عدد را به عنوان ورودی می گیرد و مجموع آنها را برمی گرداند. هیچ عوارض جانبی ندارد و همیشه همان خروجی را برای ورودی یکسان برمی گرداند.

توابع مرتبه بالاتر

تابع مرتبه بالاتر تابعی است که یک یا چند تابع را به عنوان آرگومان می گیرد یا تابعی را به عنوان نتیجه برمی گرداند. TypeScript از توابع مرتبه بالاتر پشتیبانی می کند که برای ایجاد توابع پیچیده تر مفید هستند. در اینجا یک مثال است:

function multiplyBy(factor: number) {
  return function(x: number) {
    return x * factor;
  }
}

const double = multiplyBy(2);

console.log(double(5)); // Output: 10
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در این مثال، multiplyBy تابع مرتبه بالاتری است که a را می گیرد factor به عنوان ورودی و تابع جدیدی را برمی گرداند که آرگومان آن را در عدد ضرب می کند factor. سپس یک تابع جدید ایجاد می کنیم double با تماس multiplyBy با استدلال از 2. سپس می توانیم تماس بگیریم double با استدلال از 5، که برمی گردد 10.

عملکرد لوله

تابع لوله یک تابع مرتبه بالاتر است که یک یا چند تابع را به عنوان آرگومان می گیرد و یک تابع جدید برمی گرداند که هر تابع را به نوبه خود در ورودی خود اعمال می کند. TypeScript از تابع لوله پشتیبانی می کند، و این یک راه مفید برای نوشتن توابع است. در اینجا یک مثال است:

function pipe<T>(...fns: Array<(arg: T) => T>) {
  return function(x: T) {
    return fns.reduce((v, f) => f(v), x);
  }
}

function addOne(x: number): number {
  return x + 1;
}

function double(x: number): number {
  return x * 2;
}

const addOneThenDouble = pipe(addOne, double);

console.log(addOneThenDouble(5)); // Output: 12
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در این مثال، a را تعریف می کنیم pipe تابعی که یک یا چند تابع را به عنوان آرگومان می گیرد و یک تابع جدید برمی گرداند که هر تابع را به نوبه خود در ورودی خود اعمال می کند. سپس دو تابع ساده را تعریف می کنیم، addOne و double، و استفاده کنید pipe برای ایجاد یک تابع جدید addOneThenDouble که ابتدا یکی را به ورودی خود اضافه می کند، سپس آن را دو برابر می کند. سپس می توانیم تماس بگیریم addOneThenDouble با استدلال از 5، که برمی گردد 12.

نتیجه

TypeScript تعدادی ویژگی را فراهم می کند که نوشتن کد عملکردی را آسان می کند. توابع خالص، توابع مرتبه بالاتر و تابع لوله همگی مفاهیم مفیدی برای نوشتن کد تابعی در TypeScript هستند. با پذیرش این مفاهیم، ​​می‌توانید کدهای ماژولار، قابل استفاده مجدد و آزمایش‌پذیر بیشتری بنویسید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا