۳۳ مفهوم کلیدی که هر جاوااسکریپتکار باید بلد باشه
خلاصهٔ کاملتر
پروژه 33 JS Concepts یه ریپازیتوری گیتهابه که هدفش اینه هر توسعهدهنده جاوااسکریپتی بتونه مفاهیم اصلی این زبان رو با توضیحات روشن و مثالهای کاربردی مسلط بشه. این پروژه در ۲۰۱۸ از طرف گیتهاب بهعنوان یکی از برترین پروژههای اوپنسورس اون سال انتخاب شد و حالا با محتوای بهروزتری در دسترسه.
مفاهیم اصلی به شش دسته تقسیم شدن: مبانی، توابع و اجرا، پلتفرم وب، برنامهنویسی شیءگرا، async، و موضوعات پیشرفته. توی بخش مبانی چیزایی مثل تایپهای اولیه (مثل string، number، null)، تفاوت primitive و object، Type Coercion (تبدیل خودکار نوع داده)، و عملگرهای == در مقابل === پوشش داده میشن.
بخش async جاوااسکریپت یکی از کاملترین قسمتهاست؛ از Callback و مشکل «callback hell» شروع میکنه، بعد Promise و زنجیرهسازی اونها رو توضیح میده، و در نهایت به async/await میرسه که یه لایه خواناتر روی Promiseهاست. Generator و Iterator هم برای کارهایی مثل lazy evaluation و دنبالههای بینهایت معرفی شدن.
بخش برنامهنویسی تابعی هم دیدنیه؛ شامل Higher-Order Function (توابعی که تابع میگیرن یا برمیگردونن)، Pure Function، متدهای map، reduce، filter، و مفاهیمی مثل Currying و Function Composition میشه. این بخش به نوشتن کد تمیزتر و قابل تستتر کمک میکنه.
علاوه بر ۳۳ مفهوم اصلی، یه بخش «فراتر از ۳۳» هم اضافه شده که موضوعات پیشرفتهتری رو پوشش میده؛ از جمله Proxy و Reflect برای متاپروگرامینگ، WeakMap و WeakSet برای مدیریت حافظه، Intersection Observer برای تشخیص visibility المانها، Debouncing و Throttling برای بهینهسازی رویدادها، و IndexedDB برای ذخیرهسازی سمت کلاینت.
این پروژه به بیش از ۴۰ زبان ترجمه شده و مشارکت جامعه توسعهدهندهها در اون باز و پذیرفتنیه. مجوزش MIT هست و توسط Leonardo Maldonado نگهداری میشه.
نکات کلیدی:
- بیش از ۶۰ مفهوم جاوااسکریپت از مبتدی تا پیشرفته
- دستهبندی موضوعی: مبانی، async، OOP، برنامهنویسی تابعی، و موضوعات پیشرفته
- شامل مفاهیمی مثل Event Loop، Prototype Chain، Garbage Collection، و Design Pattern
- بخش «فراتر از ۳۳» برای موضوعات تخصصیتر مثل Observer APIها و مدیریت حافظه
- اوپنسورس با مجوز MIT و ترجمه در ۴۰+ زبان




