"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > أطلق العنان لقوة جافا سكريبت: نصائح وتقنيات احترافية

أطلق العنان لقوة جافا سكريبت: نصائح وتقنيات احترافية

تم النشر بتاريخ 2024-10-31
تصفح:846

Unlock the Power of JavaScript: Pro Tips and Techniques

1. استخدم التدمير لتبديل المتغيرات

let a = 1, b = 2;
[a, b] = [b, a];
console.log(a, b); // 2 1

لماذا: يوفر طريقة نظيفة من سطر واحد لتبديل قيم المتغيرات دون متغير مؤقت.

2. استخدم القيم الحرفية للقالب لاستكمال السلسلة

const name = "Alice";
console.log(`Hello, ${name}!`); // Hello, Alice!

السبب: يجعل تسلسل السلاسل أكثر قابلية للقراءة وأقل عرضة للخطأ من الطرق التقليدية.

3. استخدم عامل الدمج الفارغ (؟؟) للقيم الافتراضية

const value = null;
const defaultValue = value ?? "Default";
console.log(defaultValue); // "Default"

لماذا: يوفر طريقة مختصرة للتعامل مع القيم الخالية أو غير المحددة، مع التمييز عن القيم الزائفة مثل 0 أو السلسلة الفارغة.

4. استخدم التسلسل الاختياري (؟.) للوصول الآمن إلى الممتلكات

const obj = { nested: { property: "value" } };
console.log(obj?.nested?.property); // "value"
console.log(obj?.nonexistent?.property); // undefined

السبب: يمنع الأخطاء عند الوصول إلى الخصائص المتداخلة التي قد لا تكون موجودة، مما يقلل الحاجة إلى عمليات فحص مطولة.

5. استخدم عامل الانتشار (...) لمعالجة المصفوفة

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combined = [...arr1, ...arr2];
console.log(combined); // [1, 2, 3, 4, 5, 6]

السبب: يبسط عمليات المصفوفة مثل دمج العناصر أو نسخها أو إضافتها، مما يجعل التعليمات البرمجية أكثر إيجازًا وقابلية للقراءة.

6. استخدم Array.from() لإنشاء صفائف من كائنات تشبه المصفوفة

const arrayLike = { 0: "a", 1: "b", 2: "c", length: 3 };
const newArray = Array.from(arrayLike);
console.log(newArray); // ["a", "b", "c"]

السبب: تحويل الكائنات الشبيهة بالمصفوفة أو العناصر القابلة للتكرار بسهولة إلى مصفوفات حقيقية، مما يتيح استخدام أساليب المصفوفة.

7. استخدم Object.entries() لتكرار الكائن بسهولة

const obj = { a: 1, b: 2, c: 3 };
for (const [key, value] of Object.entries(obj)) {
  console.log(`${key}: ${value}`);
}

لماذا: يوفر طريقة نظيفة للتكرار على كل من مفاتيح وقيم الكائن في وقت واحد.

8. استخدم Array.prototype.flat() لتسوية المصفوفات المتداخلة

const nestedArray = [1, [2, 3, [4, 5]]];
console.log(nestedArray.flat(2)); // [1, 2, 3, 4, 5]

السبب: تبسيط العمل مع المصفوفات المتداخلة عن طريق تسطيحها إلى عمق محدد.

9. استخدم غير المتزامن/انتظر للحصول على كود غير متزامن أكثر نظافة

async function fetchData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Error:', error);
  }
}

السبب: يجعل التعليمات البرمجية غير المتزامنة تبدو وكأنها تعليمات برمجية متزامنة، مما يؤدي إلى تحسين إمكانية القراءة ومعالجة الأخطاء.

10. استخدم Set للقيم الفريدة في صفيف

const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = [...new Set(numbers)];
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]

السبب: يوفر طريقة فعالة لإزالة التكرارات من مصفوفة بدون تكرار يدوي.

11. استخدم Object.freeze() لإنشاء كائنات غير قابلة للتغيير

const frozenObj = Object.freeze({ prop: 42 });
frozenObj.prop = 100; // Fails silently in non-strict mode
console.log(frozenObj.prop); // 42

السبب: يمنع إجراء تعديلات على كائن، وهو مفيد لإنشاء ثوابت أو ضمان سلامة البيانات.

12. استخدم Array.prototype.reduce() لتحويلات المصفوفة القوية

const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, curr) => acc   curr, 0);
console.log(sum); // 15

السبب: يسمح بإجراء عمليات المصفوفة المعقدة في مسار واحد، وغالبًا ما يكون ذلك أكثر كفاءة من الحلقات.

13. استخدم عامل التشغيل المنطقي (&&) للتنفيذ الشرطي

const isTrue = true;
isTrue && console.log("This will be logged");

لماذا: يوفر طريقة قصيرة لتنفيذ التعليمات البرمجية فقط إذا كان الشرط صحيحًا، بدون عبارة if صريحة.

14. استخدم Object.assis() لدمج الكائنات

const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const merged = Object.assign({}, obj1, obj2);
console.log(merged); // { a: 1, b: 3, c: 4 }

السبب: يبسط دمج الكائنات، وهو مفيد لدمج كائنات التكوين أو إنشاء نسخ الكائنات مع التجاوزات.

15. استخدم Array.prototype.some() و Array.prototype.every() للمصفوفة

checking
const numbers = [1, 2, 3, 4, 5];
console.log(numbers.some(n => n > 3)); // true
console.log(numbers.every(n => n > 0)); // true

لماذا: يوفر طرقًا موجزة للتحقق مما إذا كانت أي عناصر أو جميع العناصر في المصفوفة تلبي شرطًا ما، مع تجنب الحلقات الصريحة.

16. استخدم console.table() لتسجيل أفضل للبيانات الجدولية

const users = [
  { name: "John", age: 30 },
  { name: "Jane", age: 28 },
];
console.table(users);

السبب: تحسين إمكانية قراءة البيانات المسجلة بتنسيق جدولي، وهو مفيد بشكل خاص لصفائف الكائنات.

17. استخدم Array.prototype.find() للحصول على أول عنصر مطابق

const numbers = [1, 2, 3, 4, 5];
const found = numbers.find(n => n > 3);
console.log(found); // 4

السبب: العثور بكفاءة على العنصر الأول في المصفوفة الذي يفي بشرط ما، وإيقاف التكرار بمجرد العثور عليه.

18. استخدم Object.keys() وObject.values() وObject.entries() للكائن

manipulation
const obj = { a: 1, b: 2, c: 3 };
console.log(Object.keys(obj)); // ["a", "b", "c"]
console.log(Object.values(obj)); // [1, 2, 3]
console.log(Object.entries(obj)); // [["a", 1], ["b", 2], ["c", 3]]

السبب: يوفر طرقًا سهلة لاستخراج خصائص وقيم الكائنات والعمل معها، وهو مفيد للعديد من عمليات الكائنات.

19. استخدم Intl API للتدويل

const number = 123456.789;
console.log(new Intl.NumberFormat('de-DE').format(number)); // 123.456,789

السبب: تبسيط تنسيق الأرقام والتواريخ والسلاسل وفقًا لقواعد خاصة بالإعدادات المحلية دون التنفيذ اليدوي.

20. استخدم Array.prototype.flatMap() لرسم الخرائط والتسوية في خطوة واحدة

const sentences = ["Hello world", "How are you"];
const words = sentences.flatMap(sentence => sentence.split(" "));
console.log(words); // ["Hello", "world", "How", "are", "you"]

السبب: يجمع بين عمليات رسم الخرائط والتسوية بكفاءة، وهو مفيد للتحويلات التي تنتج نتائج متداخلة.

بيان الافراج هذه المقالة مستنسخة على: https://dev.to/ratan_3511/top-20-javascript-tricks-and-tips-for-developers-16b9?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3