کدنامهمرجع‌های مهندسی نرم‌افزار، به فارسی

جاوااسکریپت

JavaScript

جاوااسکریپت زبانی است که همه فکر می‌کنند بلدند و کمتر کسی واقعاً می‌داند. `this` چه می‌شود، چرا آن حلقه عدد اشتباه چاپ می‌کند، چرا `0.1 + 0.2` برابر `0.3` نیست — همهٔ اینها قاعده دارند. این مسیر قاعده‌ها را می‌دهد تا دیگر حدس نزنی.

۲۰فصل
۳۲۷تمرین با پاسخ
≈ ۳۰ ساعتزمان تخمینی
۳پروژهٔ نهایی

پیشرفت تو

۰٪

درصد هر فصل از دو چیز می‌آید: چقدر از بخش‌هایش را خوانده‌ای (۵۵٪) و چند تمرینش را تیک زده‌ای (۴۵٪). همه‌چیز داخل مرورگر خودت می‌ماند.

فصل

فصل‌ها به هم وابسته‌اند و ترتیبشان معنا دارد. هر مسیر با پروژه‌های نهایی تمام می‌شود: ساده، متوسط، پیچیده.

۱

نوع‌ها و تبدیل

‏coercion، ‎==‎ در برابر ‎===‎، و ‎NaN‎.

در نوبت نوشتن
۲

‏scope و hoisting

‏var، let، const و چیزی که واقعاً اتفاق می‌افتد.

در نوبت نوشتن
۳

تابع و closure

تابع مقدار است — و closure طبیعی‌ترین نتیجهٔ آن.

در نوبت نوشتن
۴

‏this و bind

چهار قاعده که همهٔ رفتار ‎this‎ را توضیح می‌دهند.

در نوبت نوشتن
۵

شیء و prototype

وراثت prototypal، که کلاس فقط پوستهٔ آن است.

در نوبت نوشتن
۶

‏class و شیءگرایی

‏class، ‎#private‎، static و getter.

در نوبت نوشتن
۷

آرایه و متدهایش

‏map، filter، reduce — و اینکه کِی حلقه بهتر است.

در نوبت نوشتن
۸

ناهمگامی ۱: event loop

‏call stack، صف، و ترتیبی که غافلگیرت می‌کند.

در نوبت نوشتن
۹

ناهمگامی ۲: Promise و async/await

زنجیره، خطا، و اجرای موازی.

در نوبت نوشتن
۱۰

ماژول

‏ESM، import پویا و بارگذاری تنبل.

در نوبت نوشتن
۱۱

‏DOM و رویداد

انتخاب، تغییر، رویداد، و bubbling.

در نوبت نوشتن
۱۲

شبکه

‏fetch، JSON، خطا، لغو درخواست و CORS.

در نوبت نوشتن
۱۳

ذخیره‌سازی در مرورگر

‏localStorage، sessionStorage، IndexedDB و کوکی.

در نوبت نوشتن
۱۴

خطا و اشکال‌زدایی

‏try/catch، خطای سفارشی، و ابزار مرورگر.

در نوبت نوشتن
۱۵

الگوهای مدرن

‏optional chaining، nullish، destructuring، generator و Proxy.

در نوبت نوشتن
۱۶

کارایی

‏debounce، throttle، حافظه و نشتی.

در نوبت نوشتن
۱۷

تست

‏Vitest، mock و تست ناهمگام.

در نوبت نوشتن
۱۸

پروژهٔ ۱ — اپ تعاملی بدون فریم‌ورک

‏DOM، رویداد، حالت و ذخیره‌سازی — دستی.

در نوبت نوشتنپروژهٔ ساده
۱۹

پروژهٔ ۲ — کتابخانهٔ کوچک خودت

‏API تمیز، ماژول، تست و انتشار.

در نوبت نوشتنپروژهٔ متوسط
۲۰

پروژهٔ ۳ — کلاینت بی‌درنگ

‏fetch، WebSocket، حالت پیچیده و مدیریت خطا.

در نوبت نوشتنپروژهٔ پیچیده