جاوااسکریپت
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، حالت پیچیده و مدیریت خطا.
در نوبت نوشتنپروژهٔ پیچیده