برنامه نویسی

توابع کمکی ضروری برای هر پروژه جاوا اسکریپت

جاوا اسکریپت یک زبان همه کاره و قدرتمند است، اما مانند هر زبان برنامه نویسی، می تواند از استفاده از توابع کمکی سود زیادی ببرد. توابع کمکی قطعات کوچک و قابل استفاده مجدد از کد هستند که وظایف رایج را انجام می دهند. با گنجاندن آنها در پروژه های خود، می توانید کد خود را ساده کنید، خوانایی را بهبود بخشید و احتمال خطا را کاهش دهید. در زیر نگاهی عمیق به برخی از توابع کمکی ضروری است که می توانند برای هر پروژه جاوا اسکریپت ارزشمند باشند.

1. Type Checking

درک نوع داده ای که با آن کار می کنید برای جلوگیری از خطا و اطمینان از عملکرد صحیح کد شما بسیار مهم است. جاوا اسکریپت typeofعملگر مفید است، اما محدودیت هایی دارد (به عنوان مثال، “شی” را برای آرایه ها و null را برمی گرداند). توابع زیر چک کردن نوع دقیق تری را ارائه می دهند:

isArray

function isArray(value) {
  return Array.isArray(value);
}
وارد حالت تمام صفحه شوید

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

isObject

function isObject(value) {
  return value !== null && typeof value === 'object' && !Array.isArray(value);
}
وارد حالت تمام صفحه شوید

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

isFunction

function isFunction(value) {
  return typeof value === 'function';
}
وارد حالت تمام صفحه شوید

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

صفر است

function isNull(value) {
  return value === null;
}
وارد حالت تمام صفحه شوید

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

تعریف نشده است

function isUndefined(value) {
  return typeof value === 'undefined';
}
وارد حالت تمام صفحه شوید

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

2. دستکاری داده ها

دستکاری آرایه ها و اشیا یک کار رایج در جاوا اسکریپت است. در اینجا برخی از توابع کمکی برای ساده کردن این عملیات آورده شده است:

کلون عمیق

یک کپی عمیق از یک شی یا آرایه ایجاد می کند و اطمینان حاصل می کند که ساختارهای تودرتو نیز تکراری هستند.

function deepClone(obj) {
  return JSON.parse(JSON.stringify(obj));
}
وارد حالت تمام صفحه شوید

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

ادغام اشیاء

دو شی را ادغام می کند و ویژگی های آنها را ترکیب می کند. در صورت تضاد، ویژگی‌های شی دوم، ویژگی‌های شیء اول را بازنویسی می‌کنند.


function mergeObjects(obj1, obj2) {
  return {...obj1, ...obj2};
}
وارد حالت تمام صفحه شوید

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

آرایه حذف

یک آیتم خاص را از یک آرایه حذف می کند.

function arrayRemove(arr, value) {
  return arr.filter(item => item !== value);
}
وارد حالت تمام صفحه شوید

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

3. دستکاری رشته

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

بزرگ کردن

حرف اول یک رشته را بزرگ می کند.

function capitalize(str) {
  return str.charAt(0).toUpperCase() + str.slice(1);
}
وارد حالت تمام صفحه شوید

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

مورد شتر

یک رشته را به حالت شتر تبدیل می کند.

function toCamelCase(str) {
  return str.replace(/\[-\_\](.)/g, (\_, char) => char.toUpperCase());
}
وارد حالت تمام صفحه شوید

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

کیف کباب

یک رشته را به جعبه کباب تبدیل می کند.

function toKebabCase(str) {
  return str.replace(/\[A-Z\]/g, char => '-' + char.toLowerCase()).replace(/^-/, '');
}
وارد حالت تمام صفحه شوید

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

4. کمک کنندگان ناهمزمان

کار با کد ناهمزمان بخش اساسی جاوا اسکریپت مدرن است. این کمک‌ها می‌توانند برخورد با عملیات ناهمزمان را ساده‌تر کنند:

خواب

اجرای را برای مدت زمان مشخصی متوقف می کند.

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
وارد حالت تمام صفحه شوید

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

دوباره امتحان کنید

یک تابع ناهمزمان را چندین بار قبل از شکست دوباره امتحان می کند.

async function retry(fn, retries = 3) {
  for (let i = 0; i < retries; i++) {
    try {
      return await fn();
    } catch (err) {
      if (i === retries - 1) throw err;
    }
  }
}
وارد حالت تمام صفحه شوید

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

5. توابع سودمند

ابزارهای همه منظوره که می توانند در موقعیت های مختلف مفید باشند:

انحراف

از فراخوانی بیش از حد یک تابع جلوگیری می کند.

function debounce(fn, delay) {
  let timeout;
  return function(...args) {
    clearTimeout(timeout);
    timeout = setTimeout(() => fn.apply(this, args), delay);
  };
}
وارد حالت تمام صفحه شوید

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

دریچه گاز

اطمینان حاصل می کند که یک تابع بیشتر از نرخ مشخص شده فراخوانی نمی شود.

function throttle(fn, limit) {
  let inThrottle;
  return function(...args) {
    if (!inThrottle) {
      fn.apply(this, args);
      inThrottle = true;
      setTimeout(() => inThrottle = false, limit);
    }
  };
}
وارد حالت تمام صفحه شوید

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

شناسه منحصر به فرد

یک شناسه منحصر به فرد ایجاد می کند.


function uniqueId(prefix = '') {
  return prefix + Math.random().toString(36).substr(2, 9);
}

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

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

نتیجه

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

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

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

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

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