أحدث مميزات ECMAScript 2025

يونيو 30, 2025

أحدث مميزات ECMAScript 2025

في 25 يونيو 2025، تم اعتماد ES2025 رسميًا. الإضافات الجاية هتسهل عليك كتابة الكود:

1. 📦 Import Attributes و JSON Modules

دلوقتي تقدر تجيب JSON بشكل مباشر وتحط نوعه بوضوح:

// استيراد ثابت
import config from './config.json' with { type: 'json' };

// استيراد ديناميكي
const cfg = await import('./config.json', { with: { type: 'json' } });
console.log(cfg.default);

2. Iterator Helper Methods

أضيفت ميثودز جديدة للـ iterator عشان تسهّل السلسلة operations:

const arr = ['a','', 'b', '', 'c', '', 'd'];
const result = arr.values()
  .filter(x => x.length > 0)
  .drop(1)
  .take(2)
  .map(x => `=${x}=`)
  .toArray();
// النتيجة: ['=b=', '=c=']

3. مميزات جديدة للـ Set

دلوقتي تقدر تعمل عمليات set مباشرة من الجافاسكريبت:

const a = new Set(['a','b','c']);
const b = new Set(['b','c','d']);
console.log([...a.union(b)]); // ['a','b','c','d']
console.log(a.isSubsetOf(b)); // false

4. RegExp.escape() و Inline Flags

const safe = RegExp.escape('hello?');
// مثال على inline flags
/^x(?i:HELLO)x$/.test('xHELLOx'); // true
/^x(?i:HELLO)x$/.test('xhellox'); // true

5. Duplicate Named Capture Groups

const re = /(?a+)|(?b+)/v;
console.log(re.exec('aaa').groups.chars); // 'aaa'
console.log(re.exec('bb').groups.chars);  // 'bb'

6. Promise.try()

Promise.try(() => {
  const x = syncThatMightThrow();
  return asyncWork(x);
}).then(...).catch(...);

7. دعم float16

دلوقتي في الجافاسكريبت: Float16Array، DataView.getFloat16/setFloat16، وMath.f16round().

المدونة

تذكير بالمهام مع Laravel وMongoDB

يونيو 30, 2025

📌 بناء تطبيق تذكير مهام المقال ده بيشرح إزاي نعمل تطبيق Laravel يستخدم MongoDB علشان يذكرك بالمهمات بتاعتك، مع تسجيل دخول، CRUD، وتذكير بالإيميلات...

Redux Toolkit 2.9.0 - شرح التحديثات وتحسينات RTK Query بالتفصيل

فبراير 05, 2026

شرح تحديث Redux Toolkit 2.9.0 إصدار Redux Toolkit 2.9.0 ركّز بشكل أساسي على تحسين أداء RTK Query، وتنظيم طريقة التعامل مع الطلبات غير المتزامنة (...

ألوان في CSS - شرح مبسّط

يونيو 26, 2025

ألوان في CSS - شرح مبسّط النهارده هنتكلم عن الألوان في CSS: ازاي بنحددها، وخصوصًا الطرق الحديثة زي lab() وoklch(). 1. يعني إيه لون؟ مفيش حاجة اسم...

الدليل الكامل لتحديثات ECMAScript 2025 للمطورين

يوليو 06, 2025

📘 شرح تفصيلي لتحديثات ECMAScript 2025 جميع مميزات ECMAScript 2025، مع أمثلة عملية وفهم ليه الميزة دي مهمة لأي مبرمج واجهة أمامية. ١. مجموعات مسما...

إزاي OAuth بيشتغل

يونيو 29, 2025

إزاي OAuth بيشتغل؟ OAuth هو بروتوكول بيخلّي التطبيقات تقدر تدخل على بياناتك بطريقة آمنة من غير ما تدّيهم الباسورد بتاعك. زي مثلًا لو حبيت تطبيق ينشر...

مقارنة بين Scopes + Traits × UseEloquentBuilder في Laravel

يوليو 13, 2025

في Laravel، بنحتاج دايمًا نكتب استعلامات شبه بعض في أكتر من مكان. Laravel بتوفر طريقتين أساسيين نقدر نستخدمهم علشان نرتّب الاستعلامات دي: Scopes + Tra...