دوره آموزشی الگوهای JavaScript: راهحلهای مدرن برای چالشهای رایج
1 ساعت 34 دقیقهمتوسط2025-05-16
مدرسین

Joe Chellman
Web Designer, Author, Trainer
جزئیات دوره
این کُد کار میکنه، ولی مطمئناً یه راه سادهتر هم هست!
جاوااسکریپت کلی قدرت پشت تکنیکهایی پنهان کرده که نه تنها ظاهر سادهای ندارن، بلکه حتی اسمشون هم ممکنه برای خیلیها نامفهوم باشه. برنامهنویسهایی که دنبال نوشتن کدی تمیزتر، کوتاهتر و مؤثرتر با جاوااسکریپت هستن، گاهی نیاز دارن از این ترفندهای پنهان باخبر بشن.
تو این دوره، «جو چلمن»—طراح وب، نویسنده و مدرس با تجربه—به تکنیکهایی میپردازه که خیلیها نمیشناسن ولی میتونن طرز استفادهتون از جاوااسکریپت رو از اینرو به اونرو کنن.
جو اول توضیح میده چرا حتی برنامهنویسهای حرفهای هم گاهی با جاوااسکریپت به مشکل برمیخورن. بعد مستقیم میره سراغ روشهایی برای سریعتر کردن حلقهها و اینکه چطور آرایهها رو با حلقهها به شکل تمیزتر و بهینهتری پردازش کنیم.
همچنین یک سری ابهامهای رایج دربارهی اشیاء (objects)، اتصال (binding)، و موضوعات مشابه رو شفافسازی میکنه. آخر کار هم کلی نکتهی کاربردی دربارهی توابع میده؛ مثل اینکه چطور پارامترهای نامگذاریشده بیشتری به تابع بدیم، چطور تابعی بنویسیم که آرایهها رو به عنوان ورودی بگیره، و چطور ترتیب پارامترها رو هوشمندانهتر مشخص کنیم.
اگه میخوای به جای فقط نوشتن کُدی که جواب میده، کُدی بنویسی که سریع، تمیز و حرفهای باشه، این دوره رو از دست نده!
🎯 اهداف یادگیری:
درک دلایل پیچیدگی جاوااسکریپت برای حتی برنامهنویسهای با تجربه.
آشنایی با تکنیکهای سریعسازی حلقهها (loops) و پردازش بهتر آرایهها.
یادگیری روشهای کمترشناختهشده اما قدرتمند در جاوااسکریپت.
رفع ابهام در مورد رفتارهای مبهم اشیاء و اتصال (binding) در توابع.
یادگیری استفاده از پارامترهای نامدار در توابع و نحوه طراحی امضای تابع (function signature).
بهینهسازی کدنویسی تابعمحور در پروژههای واقعی.
شناخت و استفاده از قابلیتهای پنهان اما بسیار کاربردی زبان جاوااسکریپت.
جاوااسکریپت کلی قدرت پشت تکنیکهایی پنهان کرده که نه تنها ظاهر سادهای ندارن، بلکه حتی اسمشون هم ممکنه برای خیلیها نامفهوم باشه. برنامهنویسهایی که دنبال نوشتن کدی تمیزتر، کوتاهتر و مؤثرتر با جاوااسکریپت هستن، گاهی نیاز دارن از این ترفندهای پنهان باخبر بشن.
تو این دوره، «جو چلمن»—طراح وب، نویسنده و مدرس با تجربه—به تکنیکهایی میپردازه که خیلیها نمیشناسن ولی میتونن طرز استفادهتون از جاوااسکریپت رو از اینرو به اونرو کنن.
جو اول توضیح میده چرا حتی برنامهنویسهای حرفهای هم گاهی با جاوااسکریپت به مشکل برمیخورن. بعد مستقیم میره سراغ روشهایی برای سریعتر کردن حلقهها و اینکه چطور آرایهها رو با حلقهها به شکل تمیزتر و بهینهتری پردازش کنیم.
همچنین یک سری ابهامهای رایج دربارهی اشیاء (objects)، اتصال (binding)، و موضوعات مشابه رو شفافسازی میکنه. آخر کار هم کلی نکتهی کاربردی دربارهی توابع میده؛ مثل اینکه چطور پارامترهای نامگذاریشده بیشتری به تابع بدیم، چطور تابعی بنویسیم که آرایهها رو به عنوان ورودی بگیره، و چطور ترتیب پارامترها رو هوشمندانهتر مشخص کنیم.
اگه میخوای به جای فقط نوشتن کُدی که جواب میده، کُدی بنویسی که سریع، تمیز و حرفهای باشه، این دوره رو از دست نده!
🎯 اهداف یادگیری:
درک دلایل پیچیدگی جاوااسکریپت برای حتی برنامهنویسهای با تجربه.
آشنایی با تکنیکهای سریعسازی حلقهها (loops) و پردازش بهتر آرایهها.
یادگیری روشهای کمترشناختهشده اما قدرتمند در جاوااسکریپت.
رفع ابهام در مورد رفتارهای مبهم اشیاء و اتصال (binding) در توابع.
یادگیری استفاده از پارامترهای نامدار در توابع و نحوه طراحی امضای تابع (function signature).
بهینهسازی کدنویسی تابعمحور در پروژههای واقعی.
شناخت و استفاده از قابلیتهای پنهان اما بسیار کاربردی زبان جاوااسکریپت.
مهارت ها
JavaScriptProgramming FoundationsOracleProgramming LanguagesSoftware DevelopmentDeep Dive (X:Y)
سرفصل ها
۰. مقدمه
- 01 - یادگیری جاوا اسکریپت - یافتن کاربرد در الگوهای کمتر رایج
- 02 - آنچه باید بدانید
- 03 - استفاده از فایلهای تمرین
- 04 - نحوه کار با چالشهای CoderPad
۱. بهبود حلقهها
- 05 - نکتهی آزاردهنده - حلقههای for متوالی خستهکننده میشوند
- 06 - راه حل - سه جایگزین برای حلقههای for متوالی
- 07 - نکتهی آزاردهنده - پردازش آرایهها با حلقهها نامناسب است
- 08 - راه حل - استفاده از filter()، map() و reduce()
- 09 - راه حل - تبدیل لیستی از مکانها
۲. اشیاء میتوانند گیجکننده باشند
- 10 - نکتهی دردناک - اشیاء کپیشده در واقع کپی نیستند
- 11 - راه حل - JSON.stringify() و JSON.parse()
- 12 - نکتهی دردناک - پی بردن به ارزش این نکته میتواند دشوار باشد
- 13 - راه حل - رفع این مشکل با استفاده از bind()
- 14 - راهکار ES6+ - توابع پیکانی
- 15 - راه حل - ایجاد یک ارتش ربات منحصر به فرد
۳. اوه توابع، توابع من
- 16 - نکتهی آزاردهنده - ارسال پارامترهای اضافی به یک کنترلکنندهی رویداد
- 17 - راه حل - استفاده از bind() به روشی متفاوت
- 18 - نکتهی آزاردهنده - امضای تابع آرایهها را نمیپذیرد
- 19 - راه حل - اعمال و پخش کردن
- 20 - نکتهی آزاردهنده - بازسازی امضاهای تابع
- 21- راه حل - اشیاء برای آرگومانها
- 22 - مرور کلی راهکار - مولد داستان
نتیجهگیری
- 23 - مراحل بعدی و تشکر از شما
دوره های مرتبط
- دوره آموزشی چالشهای کدنویسی جاوااسکریپت: ساخت اپلیکیشنهای وب
- دوره آموزشی جاوااسکریپت: ساخت ساختار داده لیستهای پیوندی
- دوره آموزشی جاوا اسکریپت: نقشه ها و مجموعه ها
- دوره آموزشی آرایه ها در جاوا اسکریپت
- دوره آموزشی یادگیری جاوااسکریپت: نوشتن کد مدرن با JavaScript ESNext
- دوره آموزشی یادگیری برنامهنویسی تابعی با جاوااسکریپت +ES6
- دوره آموزشی ساخت برنامههای تایپاسکریپت با JSDoc
- دوره آموزشی LangChain.js: یک ابزار زنجیرهای هوش مصنوعی برای توسعهدهندگان جاوااسکریپت