أنت لا تعرف JS (بعد): البدء
أنت لا تعرف JS (بعد): البدء
ملخص:
مقدمة
كتاب «You Don't Know JS Yet: Get Started» (في الترجمة الروسية — «أنت لا تعرف JS (بعد): البدء») يفتتح السلسلة التي تحمل الاسم نفسه من تأليف كايل سيمبسون، الخبير المعترف به في JavaScript. هذا ليس دليلاً مرجعياً آخراً في بناء الجملة، ولا مجموعة من الوصفات. إنه عمل عميق وفلسفي وعملي في نفس الوقت، يهدف إلى إعادة تشكيل فهمك للغة. يتحدى سيمبسون المعرفة السطحية بـ JS، والتي غالباً ما توجد حتى لدى المطورين ذوي الخبرة، ويقترح إعادة السير في الطريق من الأساسيات إلى تفاصيل عمل المحرك.
عن ماذا يتحدث هذا الكتاب؟
«Get Started» هي الخطوة الأولى نحو الإتقان الكامل لـ JavaScript. لا يحاول المؤلف تغطية كل شيء، بل يضع أساساً متيناً. يتكون الكتاب من عدة أقسام رئيسية:
- ما هو JavaScript؟ — يتم تحليل ماهية اللغة في الواقع، وكيف تطورت، ولماذا من المهم فهم مواصفاتها (ECMAScript).
- نظرة عامة على اللغة: انغماس سريع ولكن هادف في اللبنات الأساسية: الأنواع، القيم، المتغيرات، الدوال، نطاق الرؤية، الإغلاقات، النماذج الأولية، والبرمجة غير المتزامنة.
- كيف يعمل JS؟ — شرح الآليات الداخلية: التجميع، التفسير، مراحل التنفيذ، الرفع (Hoisting)، المنطقة الميتة المؤقتة (TDZ).
- البوليفيلات (Polyfills) والترجمة (Transpilation): نصائح عملية لاستخدام الميزات الحديثة في البيئات القديمة.
لمن هذا الكتاب؟
الكتاب موجه لـ جمهور واسع:
- المبتدئين الذين هم على دراية بسيطة بـ JS، لكنهم يريدون فهمه بشكل أعمق، وليس مجرد نسخ الكود.
- المطورين ذوي الخبرة الذين يستخدمون JavaScript لسنوات، لكنهم يشعرون بوجود ثغرات في المعرفة الأساسية.
- المطورين بلغات أخرى (Python، Java، C#) الذين ينتقلون إلى JavaScript ويرغبون في تجنب الأخطاء الشائعة.
ماذا سيتعلم القارئ؟
بعد القراءة، ستتمكن من:
- شرح الفرق بين نطاق الرؤية (scope) و سياق التنفيذ (execution context).
- فهم كيفية عمل الإغلاقات (closures) على مستوى المحرك، وليس فقط حفظ التعريف.
- إدراك ما هو الوراثة النموذجية (prototypal inheritance) وكيف تختلف عن الوراثة الكلاسيكية.
- التعامل مع البرمجة غير المتزامنة (callback، promises، async/await) وفهم كيف يدير حلقة الأحداث (event loop) تنفيذ الكود.
- استخدام الوضع الصارم (strict mode) بثقة وشرح سبب أهميته.
- التمييز بين البوليفيلات (polyfills) و المترجمات (transpilers) ومعرفة متى يتم استخدام كل منهما.
نقاط القوة
- العمق بدلاً من الاتساع. لا يسعى المؤلف وراء عدد الصفحات، بل يشرح كل مفهوم بدقة. هذا ليس «JavaScript في 24 ساعة»، بل كتاب دراسي للنمو.
- النهج الاستفزازي. اسم السلسلة ليس صدفة — يؤكد سيمبسون باستمرار أن معظم المطورين يعرفون JS بشكل سطحي فقط. هذا يحفز على التعمق أكثر.
- الأمثلة العملية. كل نظرية مدعومة بأجزاء صغيرة ولكنها توضيحية من الكود يمكن تشغيلها فوراً في Node.js أو المتصفح.
- الحداثة. الكتاب كُتب في عام 2020 ويغطي المعيار الحديث ES2020+، بما في ذلك BigInt، globalThis، Promise.allSettled وغيرها من المستجدات.
- الهيكل. بناء منطقي: من العام إلى الخاص، من «ماذا» إلى «كيف» و«لماذا». ينتهي كل فصل بملخص وأسئلة للاختبار الذاتي.
لمن يُوصى به؟
سيكون الكتاب مفيداً لكل من يكتب بلغة JavaScript ويريد القيام بذلك بوعي. أوصي به بشكل خاص:
- لمطوري Junior الذين اجتازوا بالفعل البرنامج التعليمي الأساسي ويريدون الانتقال إلى المستوى التالي.
- لمطوري Middle/Sen