برنامه نویسی

اسرار جاوا اسکریپت رونمایی شد: 10 سنگ مخفی برتر با نمونه کد

1. قدرت تخریب ساختار:

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

// Swapping variables
let a = 1;
let b = 2;
[a, b] = [b, a];

// Extracting nested values
const person = { name: 'John Doe', age: 25, address: { city: 'New York' } };
const { name, address: { city } } = person;

// Setting default values
const { phoneNumber="N/A" } = person;
وارد حالت تمام صفحه شوید

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

2. آزادسازی پتانسیل اپراتور گسترش:

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

// Array concatenation
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const mergedArray = [...array1, ...array2];

// Object merging
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
const mergedObject = { ...obj1, ...obj2 };

// Function argument manipulation
const myFunction = (param1, param2, ...rest) => {
  // ...
};
وارد حالت تمام صفحه شوید

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

3. تسلط بر توابع درجه بالاتر:

توابع درجه بالاتر مانند map()، filter() و reduce() قابلیت های برنامه نویسی عملکردی قدرتمندی را ارائه می دهند. قدرت‌های پنهان آن‌ها را کشف کنید، از جمله تبدیل داده‌ها، فیلتر کردن آرایه‌ها و محاسبه مقادیر انبوه.

// Transforming data with map()
const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map((num) => num ** 2);

// Filtering arrays with filter()
const evenNumbers = numbers.filter((num) => num % 2 === 0);

// Calculating aggregated values with reduce()
const sum = numbers.reduce((acc, num) => acc + num, 0);
وارد حالت تمام صفحه شوید

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

4. جاوا اسکریپت ناهمزمان با وعده:

Promises روشی زیبا برای مدیریت عملیات ناهمزمان ارائه می دهد. قدرت های پنهان آنها، از جمله عملیات زنجیره ای، اجرای موازی و مدیریت خطا را کشف کنید.

// Chaining operations
fetchData()
  .then(processData)
  .then(displayResult)
  .catch(handleError);

// Parallel execution with Promise.all()
const promises = [promise1, promise2, promise3];
Promise.all(promises)
  .then((results) => {
    // Process the results
    // ...
  })
  .catch(handleError);
وارد حالت تمام صفحه شوید

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

5. جادوی توابع ژنراتور:

توابع ژنراتور جریان کنترل تکراری و ارزیابی تنبل را امکان پذیر می کند. قدرت‌های پنهان آن‌ها را کشف کنید، از جمله توالی‌های بی‌نهایت، تکرار غیر همگام، و چندوظیفه‌ای مشترک.

// Infinite sequences
function* infiniteSequence() {
  let num = 1;
  while (true) {
    yield num++;
  }
}

// Async iteration
async function* asyncGenerator() {
  // ...
}
for await (const value of asyncGenerator()) {
  // ...
}
وارد حالت تمام صفحه شوید

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

6. Supercharging عبارات منظم:

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

// Lookaheads
const positiveLookahead = /John(?= Doe)/;
const negativeLookahead = /John(?! Doe)/;

// Capturing groups
const regex = /(\d{2})-(\d{2})-(\d{4})/;
const [_, day, month, year] = regex.exec('15-06-2023');

// Advanced modifiers
const globalMatch = /pattern/g;
const caseInsensitiveMatch = /pattern/i;
وارد حالت تمام صفحه شوید

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

7. کشف رمز و راز یادداشت:

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

// Caching expensive operations
const memoizedFunction = memoize(expensiveOperation);

// Optimizing recursive functions
function fibonacci(n, memo = {}) {
  if (n <= 1) return n;
  if (memo[n]) return memo[n];
  memo[n] = fibonacci(n - 1, memo) + fibonacci(n - 2, memo);
  return memo[n];
}
وارد حالت تمام صفحه شوید

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

8. ساده سازی تاریخ و زمان دستکاری با Luxon:

Luxon یک کتابخانه قدرتمند برای کار با تاریخ و زمان در جاوا اسکریپت است. قدرت های پنهان آن، از جمله قالب بندی تاریخ، تجزیه، مدیریت منطقه زمانی، و محاسبات زمان نسبی را کشف کنید.

// Date formatting
const now = DateTime.now();
const formattedDate = now.toFormat('yyyy-MM-dd');

// Parsing dates
const parsedDate = DateTime.fromISO('2023-06-15');

// Timezone handling
const localTime = now.setZone('local');
const newYorkTime = now.setZone('America/New_York');

// Relative time calculations
const diff = DateTime.fromISO('2023-06-15').diffNow().toObject();
const { days, hours, minutes } = diff;
وارد حالت تمام صفحه شوید

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

9. کاوش در فضای ذخیره سازی وب:

Web Storage به شما امکان می دهد داده ها را به صورت محلی در مرورگر ذخیره کنید. قدرت های پنهان آن، از جمله ذخیره و بازیابی داده ها، رسیدگی به انقضا، و ردیابی رویدادهای ذخیره سازی را کشف کنید.

// Storing and retrieving data
localStorage.setItem('key', 'value');
const storedValue = localStorage.getItem('key');

// Handling expiration
localStorage.setItem('key', JSON.stringify({ value, expires: Date.now() + 3600 }));
const storedObject = JSON.parse(localStorage.getItem('key'));
if (storedObject.expires < Date.now()) {
  localStorage.removeItem('key');
}

// Tracking storage events
window.addEventListener('storage', (event) => {
  // Handle storage events
});
وارد حالت تمام صفحه شوید

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

10. ساخت برنامه های وب پاسخگو با ResizeObserver:

ResizeObserver یک API مدرن است که به شما امکان می دهد تغییرات اندازه عناصر را مشاهده کنید. قدرت‌های پنهان آن، از جمله طراحی واکنش‌گرا، بارگذاری تنبل، و تنظیمات طرح‌بندی پویا را کشف کنید.

// Observing element size changes
const observer = new ResizeObserver((entries) => {
  for (const entry of entries) {
    // Handle size changes
  }
});
observer.observe(element);
وارد حالت تمام صفحه شوید

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


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

نویسنده: Hakimov-dev

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

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

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

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