دوره کامل جاوااسکریپت 2025: از مبتدی تا پیشرفته
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- از ابتدا به یک توسعهگر پیشرفته، مطمئن و مدرن جاوااسکریپت تبدیل شوید.
- ساخت 6 پروژهی زیبا و واقعی (نه اپلیکیشن های خستهکنندهی اسباببازی) برای نمونه کار خود
- آمادهسازی برای بازار کار با درک نحوهی عملکرد واقعی جاوااسکریپت در پشت صحنه
- چگونه مانند یک توسعهگر فکر کنید و کار کنید: حل مسئله، تحقیق، گردش کارها
- اصول جاوااسکریپت: متغیرها، if/else، عملگرها، منطق بولی، توابع، آرایهها، اشیا، حلقهها، رشتهها و غیره
- +ES6 مدرن از ابتدا: توابع arrow و destructuring، عملگر spread و optional chaining (ES2020) و غیره
- برنامهنویسی شیءگرا مدرن: کلاسها، constructors، وراثت پروتوتایپی، کپسولهسازی و غیره
- مفاهیم پیچیده مانند کلیدواژه 'this'، توابع higher-order و closures و غیره
- جاوااسکریپت غیرهمزمان: Event loop ،promises ،async/await، فراخوانی های AJAX و APIs
- چگونه کد خود را با استفاده از فلوچارتها و الگوهای معمول معماری کنید؟
- ابزارهای مدرن برای 2022 و فراتر از آن: NPM، Parcel ،Babel و ماژولهای ES6
- تمرین مهارتهای خود با 50+ چالش و تکلیف (حلشدهها گنجانده شدهاند)
- دریافت پشتیبانی سریع و دوستانه در بخش Q&A
- مسیرهای دوره: مسیر یادگیری منحصر به فرد خود را با توجه به اهدافتان طراحی کنید!
پیش نیازهای دوره
- هیچ تجربهی کدنویسی برای شرکت در این دوره لازم نیست! شما را از مبتدی به متخصص می رسانیم!
- هر کامپیوتر و سیستمعاملی کار میکند. ویندوز، macOS یا لینوکس. ما ویرایشگر متن شما را در طول دوره راه اندازی خواهیم کرد.
- درک پایهای از HTML و CSS یک امتیاز است، اما الزامی نیست! این دوره شامل یک دورهی فشرده HTML و CSS است.
توضیحات دوره
جاوااسکریپت محبوبترین زبان برنامهنویسی در جهان است. این زبان تمام وب مدرن را قدرت میبخشد. میلیونها شغل با حقوق بالا در سراسر جهان ارائه میدهد.
این همان دلیلی است که میخواهید جاوااسکریپت را یاد بگیرید. و شما به جای درستی آمدهاید!
چرا این دوره جاوااسکریپت مناسب شماست؟
این جامعترین و عمیقترین دوره جاوااسکریپت در یودمی (و شاید تمام اینترنت!) است. این دوره یک بستهی همهچیز در یک دوره است که شما را از اصول اولیه جاوااسکریپت تا ساخت اپلیکیشن های مدرن و پیچیده میبرد.
شما جاوااسکریپت مدرن را از ابتدا گام به گام یاد خواهید گرفت. شما را از طریق مثالهای کد عملی و سرگرمکننده، تئوری مهمی که نحوهی عملکرد جاوااسکریپت در پشت صحنه را توضیح میدهد و پروژههای زیبا و کامل راهنمایی میکنیم.
شما آماده خواهید بود تا یادگیری فریمورکهای پیشرفته Front-end مانند React ،Vue ،Angular یا Svelte را ادامه دهید.
شما همچنین یاد خواهید گرفت چگونه مانند یک توسعهگر فکر کنید، چگونه ویژگیهای اپلیکیشن را برنامهریزی کنید، چگونه کد خود را معماری کنید، چگونه کد را دیباگ کنید و دهها مهارت واقعی دیگر که در شغل توسعهگر خود به آنها نیاز خواهید داشت.
و برخلاف دورههای دیگر، این دوره واقعاً شامل موضوعات مبتدی، متوسط، پیشرفته و حتی موضوعات تخصصی میشود، بنابراین شما نیازی به گذراندن دورهی دیگری برای تسلط به جاوااسکریپت از ابتدا ندارید!
اما... شما نیازی نیست که به تمام این موضوعات پرداخته بپردازید. این یک دوره بزرگ است، زیرا در نهایت، این "دورهی کامل جاوااسکریپت" است. در واقع، این مانند تعدادی دوره در یک دوره است! اما شما میتوانید یک توسعهگر عالی با دیدن فقط بخشهایی از دوره شوید. به همین دلیل این دوره را به شکلی ماژولار طراحی کردیم و مسیرهایی ایجاد کردهایم که شما را سریعتر به دوره می رساند.
در پایان دوره، شما دانش و اعتمادی را که برای موفقیت در مصاحبههای شغلی خود نیاز دارید، خواهید داشت و به یک توسعهگر حرفهای تبدیل خواهید شد.
پس دقیقاً چه مواردی در دوره پوشش داده شده است؟
- ساخت 5 پروژهی زیبا و واقعی برای نمونه کار خود! در این پروژهها، شما یاد خواهید گرفت چگونه اپلیکیشن های خود را با استفاده از فلوچارتها و الگوهای معمول جاوااسکریپت برنامهریزی و معماری کنید.
- تسلط به اصول جاوااسکریپت: متغیرها، if/else، عملگرها، منطق بولی، توابع، آرایهها، اشیا، حلقهها، رشتهها و غیره
- یادگیری جاوااسکریپت مدرن (ES6+) از ابتدا: توابع arrow و destructuring، عملگر spread، آرگومانهای پیشفرض، optional chaining و غیره
- چگونه جاوااسکریپت در پشت صحنه کار میکند: موتورها، call stack ،hoisting ،scoping، کلیدواژه 'this'، مقادیر رفرنس و غیره.
- درک عمیق توابع: توابع arrow، توابع first-class و higher-order، کلوژرها و bind
- درک عمیق برنامهنویسی شیءگرا: وراثت پروتوتایپی، توابع constructor (ES5)، کلاسها (ES6)، کپسولهسازی، انتزاع، وراثت و پلی مورفیسم. [این مانند یک دورهی کوچک مستقل است]
- درک عمیق جاوااسکریپت غیرهمزمان: event loop ،promises ،async/await و مدیریت خطا. شما از اینها برای دسترسی به دادهها از APIهای شخص ثالث با فراخوانی های AJAX استفاده خواهید کرد. [این مانند یک دورهی کوچک مستقل است]
- یادگیری ابزارهای مدرنی که توسط توسعهگران وب حرفهای استفاده میشوند: NPM ،Parcel ،Babel و ماژولهای ES6
این دوره برای چه کسانی مناسب است؟
- این دوره را بگذرانید اگر میخواهید درک واقعی و عمیقی از جاوااسکریپت بهدست آورید.
- این دوره را بگذرانید اگر سعی کردهاید جاوااسکریپت را یاد بگیرید اما: 1) هنوز واقعاً جاوااسکریپت را درک نمیکنید یا 2) هنوز احساس اطمینان برای کدنویسی اپلیکیشن های واقعی ندارید.
- این دوره را بگذرانید اگر به استفاده از یک کتابخانه/فریمورک مانند React ،Angular ،Vue یا Node در آینده علاقهمندید.
- این دوره را بگذرانید اگر قبلاً جاوااسکریپت را میدانید و به دنبال یک دوره پیشرفته هستید. این دوره شامل موضوعات تخصصی نیز هست!
- این دوره را بگذرانید اگر میخواهید برنامهنویسی را شروع کنید: جاوااسکریپت یک زبان اول عالی است!
دوره کامل جاوااسکریپت 2025: از مبتدی تا پیشرفته
-
ساختار دوره و پروژهها 05:25
-
پیش از شروع بخوانید! 00:42
-
راه اندازی ویرایشگر کد ما 08:23
-
مقدمه بخش 00:53
-
سلام دنیا! 05:57
-
مقدمهای کوتاه بر جاوااسکریپت 11:18
-
لینک کردن یک فایل جاوااسکریپت 15:55
-
ارزشها و متغیرها 16:05
-
انواع داده 19:19
-
let ،const و var 09:58
-
عملگرهای پایه 19:31
-
اولویت عملگر 11:19
-
یادداشتی درباره چالشها 00:29
-
چالش شماره 1 None
-
لیترال های Template و رشتهها 10:57
-
اخذ تصمیمات: دستورات if / else 12:50
-
چالش شماره 2 None
-
چالش شماره 2: راهحل ویدئویی 05:20
-
تبدیل نوع و Coercion 16:40
-
مقادیر معتبر و نامعتبر 10:03
-
عملگرهای برابری: == در مقابل === 15:41
-
منطق بولی 08:30
-
عملگرهای منطقی 10:37
-
چالش شماره 3 None
-
چالش شماره 3: راهحل ویدئویی 11:42
-
دستورات switch 13:10
-
دستورات و عبارات 06:08
-
عملگر شرطی (سهگانه) 10:02
-
چالش شماره 4 None
-
چالش شماره 4: راهحل ویدئویی 05:57
-
انتشارات جاوااسکریپت: ES5+ ،ES6 و ESNext 14:19
-
مقدمه بخش 00:36
-
فعالسازی Strict Mode 10:27
-
توابع 19:08
-
تعریف توابع در مقابل عبارات 10:39
-
توابع Arrow 09:52
-
توابعی که توابع دیگر را فراخوانی میکنند 10:07
-
مرور توابع 15:37
-
چالش شماره 1 None
-
چالش شماره 1: راهحل ویدئویی 14:10
-
مقدمهای بر آرایهها 21:34
-
عملیات پایهای آرایه (متدها) 12:52
-
چالش شماره 2 None
-
چالش شماره 2: راهحل ویدئویی 06:54
-
مقدمهای بر اشیا 06:08
-
Bracket Notation در مقابل Dot Notation 19:21
-
متدهای شیء 23:04
-
چالش شماره 3 None
-
چالش شماره 3: راهحل ویدئویی 09:50
-
تکرار: حلقه for 11:11
-
تکرار آرایهها، Breaking و Continuing 22:02
-
Looping Backwards و Loops in Loops 11:53
-
حلقه while 11:52
-
چالش شماره 4 None
-
چالش شماره 4: راهحل ویدئویی 11:24
-
مسیرها و نقشههای راه بخش 04:08
-
مقدمه بخش 00:39
-
راه اندازی Prettier و VS Code 16:22
-
نصب Node.js و راهاندازی محیط توسعه 11:32
-
یادگیری نحوهی کدنویسی 17:42
-
چگونه مانند یک توسعهگر فکر کنید: تبدیل شدن به یک حلکننده مسئله! 10:53
-
استفاده از Google ،StackOverflow و MDN 26:36
-
دیباگ کردن (فیکس کردن خطاها) 05:09
-
دیباگ کردن با کنسول و Breakpoints 19:25
-
چالش شماره 1 15:24
-
ظهور ابزارهای هوش مصنوعی (ChatGPT ،Copilot ،Cursor AI و غیره) 18:24
-
حل چالش شماره 2 با هوش مصنوعی 16:31
-
مقدمه بخش 00:40
-
ساختار و عناصر پایه HTML 09:32
-
ویژگیها، کلاسها و IDها 13:09
-
استایلدهی پایهای با CSS 12:00
-
مقدمهای بر مدل جعبه CSS 20:57
-
مقدمه بخش 00:49
-
پروژه شماره 1: حدس زدن شماره من! 08:47
-
DOM و دستکاری DOM چیست؟ 06:48
-
انتخاب و دستکاری عناصر 08:22
-
مدیریت رویدادهای کلیک 12:50
-
پیادهسازی منطق بازی 19:33
-
دستکاری استایلهای CSS 08:17
-
چالش شماره 1 11:40
-
پیادهسازی Highscores 07:47
-
ریفکتورینگ کد ما: اصل DRY 15:05
-
پروژه شماره 2: Modal Window 13:21
-
کار با کلاسها 16:55
-
مدیریت رویداد فشار کلید Esc 14:11
-
پروژه شماره 3: بازی خوک 17:08
-
انداختن تاس 15:58
-
تغییر بازیکن فعال 15:16
-
نگهداشتن امتیاز فعلی 24:55
-
تنظیم مجدد بازی 15:38
-
مقدمه بخش 01:31
-
مروری کلی بر جاوااسکریپت 12:11
-
موتور جاوااسکریپت و بلادرنگ 13:47
-
زمینههای اجرایی و Call Stack 17:45
-
اسکوپ و زنجیره دامنه 25:37
-
Scoping در عمل 21:13
-
محیط متغیر: Hoisting و TDZ 11:00
-
Hoisting و TDZ در عمل 14:42
-
کلیدواژه this 06:30
-
کلیدواژه this در عمل 13:11
-
توابع عادی در مقابل توابع Arrow 18:04
-
مدیریت حافظه: انواع اولیه در مقابل اشیا 13:51
-
Object References در عمل (کپی های Shallow در مقابل Deep) 21:09
-
مدیریت حافظه: جمعآوری زباله 15:11
-
مقدمه بخش 00:53
-
آرایههای destructuring 19:33
-
Destructuring اشیا 19:46
-
عملگر Spread (...) 21:26
-
الگو و پارامترهای Rest 19:01
-
مدار کوتاه (&& و ||) 15:55
-
عملگر Nullish Coalescing (??) 03:32
-
عملگرهای انتساب منطقی 11:39
-
چالش شماره 1 14:57
-
لوپ کردن آرایه ها: حلقه for-of 07:20
-
لیترال های شیء پیشرفته 07:02
-
زنجیرهسازی اختیاری (?.) 16:10
-
لوپ کردن آبجکت ها - کلیدهای آبجکت، مقادیر و ورودی ها 10:09
-
چالش شماره 2 14:30
-
مجموعهها 13:18
-
عملیات جدید برای مفید کردن مجموعهها! 16:13
-
نقشهها: اصول 14:03
-
نقشهها: Iteration 12:41
-
خلاصه: از کدام ساختار داده استفاده کنیم؟ 09:40
-
چالش شماره 3 09:37
-
کار با رشتهها - قسمت 1 16:53
-
کار با رشتهها - قسمت 2 22:22
-
کار با رشتهها - قسمت 3 21:41
-
چالش شماره 4 15:15
-
تمرین متدهای رشته 16:36
-
مقدمه بخش 00:48
-
پارامترهای پیشفرض 09:17
-
چگونه انتقال آرگومانها کار میکند؟ - مقدار در مقابل Reference 13:36
-
توابع First-Class و Higher-Order 05:24
-
توابعی که توابع Callback را میپذیرند 15:20
-
توابعی که توابع را بازمیگردانند 06:36
-
متدهای call و apply 16:51
-
متد bind 21:33
-
چالش شماره 1 18:47
-
عبارتهای تابعی که فوراً فراخوانی میشوند (IIFE) 07:52
-
Closures 22:21
-
مثالهای بیشتر از Closure 15:30
-
چالش شماره 2 05:25
-
مقدمه بخش 00:53
-
متدهای ساده آرایه 16:37
-
متد جدید at 06:04
-
تکرار در آرایهها: forEach 13:46
-
forEach با نقشهها و مجموعهها 05:32
-
پروژه: اپلیکیشن Bankist 09:48
-
ایجاد عناصر DOM 18:44
-
چالش شماره 1 08:31
-
تبدیلات داده: map ،filter ،reduce 04:40
-
متد map 15:40
-
محاسبه نام کاربری 12:14
-
متد filter 06:19
-
متد reduce 20:57
-
چالش شماره 2 09:56
-
جادوی زنجیرهسازی متد ها 19:39
-
چالش شماره 3 03:57
-
متد find 06:47
-
پیادهسازی لاگین 24:18
-
پیادهسازی انتقالات 20:54
-
متد findIndex 12:34
-
متدهای جدید findLast و findLastIndex 08:20
-
some و every 15:11
-
flat و flatMap 09:32
-
چالش شماره 4 24:04
-
مرتبسازی آرایهها 21:55
-
گروهبندی آرایه 13:28
-
روشهای بیشتر برای ایجاد و Fill کردن آرایهها 20:33
-
جایگزینهای Non-Destructive: بررسی toReversed ،toSorted ،toSpliced با 06:01
-
خلاصه: از کدام متد آرایه استفاده کنیم؟ 10:48
-
تمرین متدهای آرایه 32:21
-
چالش شماره 5 28:31
-
مقدمه بخش 00:50
-
تبدیل و بررسی اعداد 16:46
-
ریاضی و گرد کردن 22:47
-
عملگر Remainder 10:56
-
Numeric Separators 06:57
-
کار با BigInt 11:18
-
ایجاد تاریخها 12:55
-
افزودن تاریخها به اپلیکیشن 22:21
-
فیکس کردن یک باگ مرتبسازی 10:53
-
عملیات بر روی تاریخها 15:27
-
بینالمللیسازی تاریخها (Intl) 17:18
-
بینالمللیسازی اعداد (Intl) 19:06
-
تایمرها: setTimeout و setInterval 13:53
-
پیادهسازی تایمر شمارش معکوس 28:31
-
مقدمه بخش 01:04
-
پروژه: وبسایت 08:49
-
چگونه DOM واقعاً کار میکند؟ 10:36
-
انتخاب، ایجاد و حذف عناصر 20:28
-
استایلها، ویژگیها و کلاسها 21:43
-
پیادهسازی Smooth Scrolling (اسکرول کردن نرم) 15:56
-
انواع رویدادها و Event Handlers 10:33
-
انتشار رویداد: Bubbling و ضبط 05:03
-
Event Propagation در عمل 17:46
-
تجمیع رویداد: پیادهسازی ناوبری صفحه 18:48
-
پیمایش DOM 14:35
-
ساخت یک کامپوننت Tabbed 24:08
-
انتقال آرگومانها به Event Handlers 18:43
-
پیادهسازی Sticky Navigation: رویداد اسکرول 07:55
-
راه بهتری: Intersection Observer API 24:00
-
آشکارسازی عناصر در اسکرول 12:39
-
فیکس کردن یک باگ اسکرول کوچک 05:09
-
Lazy Loading تصاویر 18:30
-
ساخت یک کامپوننت اسلایدر: بخش 1 23:16
-
ساخت یک کامپوننت اسلایدر: بخش 2 19:35
-
رویدادهای چرخه عمر DOM 09:26
-
بارگذاری مؤثر اسکریپت: defer و async 13:30
-
مقدمه بخش 01:06
-
برنامهنویسی شیءگرا چیست؟ 20:55
-
برنامهنویسی شیءگرا در جاوااسکریپت 10:08
-
توابع Constructor و عملگر new 14:19
-
پروتوتایپها 14:36
-
وراثت پروتوتایپی و زنجیره پروتوتایپ 10:58
-
وراثت پروتوتایپی بر روی اشیا داخلی 14:46
-
چالش شماره 1 07:27
-
کلاسهای ES6 12:57
-
Setterها و Getterها 13:15
-
متدهای استاتیک 06:24
-
Object.create 10:56
-
چالش شماره 2 06:00
-
وراثت بین کلاس ها: توابع Constructor 21:03
-
چالش شماره 3 10:37
-
وراثت بین 10:46
-
وراثت بین 08:53
-
مثال دیگری از کلاس 10:44
-
کپسولهسازی: فیلدها و متدهای خصوصی کلاس 20:49
-
زنجیرهسازی متدها 07:24
-
خلاصه کلاسهای ES6 07:11
-
چالش شماره 4 08:54
-
مقدمه بخش 00:58
-
مروری بر پروژه 05:02
-
چگونه یک پروژه وب برنامهریزی کنیم؟ 17:40
-
استفاده از Geolocation API 08:16
-
نمایش یک نقشه با استفاده از کتابخانه Leaflet 13:48
-
نمایش یک نشانگر نقشه 19:54
-
رندر کردن فرم ورودی تمرین 16:42
-
معماری پروژه 09:28
-
ریفکتورینگ کد برای معماری پروژه 24:05
-
مدیریت دادههای تمرین: ایجاد کلاسها 16:18
-
ایجاد یک تمرین جدید 34:06
-
رندر کردن تمرینات 24:19
-
حرکت نشانگر با کلیک 16:32
-
کار با localStorage 25:31
-
ملاحظات نهایی 05:41
-
مقدمه بخش 00:55
-
جاوااسکریپت غیرهمزمان، AJAX و APIs 17:57
-
اولین فراخوانی AJAX ما: XMLHttpRequest 20:23
-
[اختیاری] وب چگونه کار میکند؟ درخواستها و پاسخها 13:38
-
خوش آمدید به جهنم Callback 13:52
-
Promises و Fetch API 09:25
-
Consume کردن Promises 09:24
-
زنجیرهسازی Promises 09:13
-
مدیریت Promises ریجکت شده 16:01
-
Throw کردن خطا بهصورت دستی 15:23
-
چالش شماره 1 16:53
-
جاوااسکریپت غیرهمزمان در پشتصحنه: Event Loop 17:53
-
Event Loop در عمل 09:15
-
ساخت یک Promise ساده 19:59
-
Promise سازی Geolocation API 13:26
-
چالش شماره 2 15:53
-
Consume کردن Promises با Async/Await 15:06
-
مدیریت خطا با try...catch 10:22
-
برگشت مقادیر از توابع Async 14:39
-
اجرای Promises بهصورت موازی 10:56
-
دیگر Promise Combinators - بررسی allSettled ،race و any 13:19
-
چالش شماره 3 17:30
-
مقدمه بخش 00:47
-
مروری بر توسعه مدرن جاوااسکریپت 06:38
-
مروری بر ماژولها در جاوااسکریپت 15:01
-
اکسپورت و ایمپورت در ماژولهای ES6 22:38
-
Top-Level await (ES2022) 14:44
-
الگوی ماژول 10:19
-
ماژولهای CommonJS 04:24
-
مقدمهای کوتاه بر خط فرمان 12:27
-
مقدمهای بر NPM 18:40
-
باندل کردن با Parcel و NPM Scripts 21:39
-
پیکربندی Babel و Polyfill کردن 18:02
-
مرور: نوشتن جاوااسکریپت تمیز و مدرن 10:26
-
بیایید برخی از کدهای بد را فیکس کنیم: بخش 1 23:20
-
اصول جاوااسکریپت بیانی و عملکردی 12:25
-
بیایید برخی از کدهای بد را فیکس کردن کنیم: بخش 2 38:09
-
مقدمه بخش 00:56
-
مروری بر پروژه و برنامهریزی - بخش 1 14:21
-
بارگذاری یک دستور غذا از API 24:11
-
رندر کردن دستور غذا 22:23
-
Listen کردن برای رویدادهای load و hashchange 11:02
-
معماری MVC 16:32
-
ریفکتورینگ کد برای MVC 38:53
-
Helpers و فایلهای پیکربندی 21:23
-
Event Handlers در MVC: الگوی Publisher-Subscriber 15:08
-
پیادهسازی پیامهای خطا و موفقیت 11:34
-
پیادهسازی نتایج جستجو - بخش 1 25:46
-
پیادهسازی نتایج جستجو - بخش 2 28:15
-
پیادهسازی صفحهبندی - بخش 1 12:18
-
پیادهسازی صفحهبندی - بخش 2 37:05
-
برنامهریزی پروژه - بخش 2 03:13
-
بهروزرسانی تعداد سروهای دستور غذا 26:40
-
توسعه یک الگوریتم بهروزرسانی DOM 34:22
-
پیادهسازی بوکمارکها - بخش 1 25:59
-
پیادهسازی بوکمارکها - بخش 2 18:31
-
ذخیره بوکمارکها با localStorage 18:22
-
برنامهریزی پروژه - بخش 3 02:08
-
بارگذاری یک دستور غذایی جدید - بخش 1 17:43
-
بارگذاری یک دستور غذایی جدید - بخش 2 40:37
-
بارگذاری یک دستور غذایی جدید - بخش 3 19:58
-
جمع بندی: ملاحظات نهایی 14:45
-
نقشهی راه بخش 00:22
-
استقرار ساده با Netlify 11:18
-
راه اندازی Git و GitHub 07:39
-
اصول Git 19:36
-
Push کردن به GitHub 09:30
-
راه اندازی ادغام مداوم با Netlify 10:06
-
از اینجا کجا برویم؟ 03:00
مشخصات آموزش
دوره کامل جاوااسکریپت 2025: از مبتدی تا پیشرفته
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:همه سطوح
- تعداد درس:315
- مدت زمان :71:10:45
- حجم :39.51GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy