آیا سعی کرده اید یک موضوع / چارچوب مربوط به جاوا اسکریپت (JS) را بیاموزید و متوجه شده اید که تقریباً چیزی نمیفهمید؟
یک دلیل ساده وجود دارد که شما نمیفهمید چه چیزی یاد میگیرید، شما مراحل را طی نکردید و از روی آنها پریدهاید. شما سعی کردهاید یک مبحث پیشرفته را بدون داشتن پیشزمینهای شروع کنید.
کاری که شما بدون یادگیری پیشرفته سعی در انجامش دارید دقیقا مثل تلاش برای رانندگی بدون گواهینامه رانندگی است. میتوانید تصور کنید که چقدر خراب میشود؟
پس چرا خود را مجبور میکنید که فرمورکهای پیشرفته جاوا اسکریپت مانند React را بیاموزید بدون اینکه ابتدا مباحث اساسی را یاد بگیرید؟
آنچه در این نوشته خواهیم داشت
نحوه یادگیری جاوا اسکریپت
برای یادگیری JavaScript، باید سه چیز را بدانید:
۱. در یادگیری جاوا اسکریپت کجا هستید؟
آیا شما در JavaScript کاملاً مبتدی هستید؟ آیا فقط نحوه کپی-چسباندن کد را میدانید؟ یا آیا راحت هستید که از ابتدا همهی اجزای JavaScript را خودتان بنویسید؟ جایی که هستید تعیین میکند که چه “سطح” مطالبی را میخواهید یاد بگیرید. اگر چیز خیلی سادهای یاد بگیرید، حوصلهتان سر میرود و اگر چیز خیلی پیشرفتهای یاد بگیرید، غرق درگیری خواهید شد. اما فقط دانستن جایی که هستید کافی نیست. شما نقشهای برای یادگیری ندارید، به همین دلیل است که در مرحلهی اول گیر کردهاید.
این ما را به مسئله بعدی می رساند:
اگر به مبجث جاوا اسکریپت علاقهمندید، شاید مقالههای همه چیز دربارهی جاوا اسکریپت و چرا یادگیری جاوااسکریپت در سال ۲۰۲۰ ضرورت دارد؟ هم برایتان جالب باشند.
۲. میخواهید به کجا برسید؟
مردم به دلایل مختلف JavaScript را یاد میگیرند. آیا میخواهید وب سایت خود را تعاملیتر کنید؟ اگر قصدتان این است، آنچه باید یاد بگیرید کاملاً متفاوت از شخص دیگری است که سعی در برنامهنویسی یک برنامه وب دارد. شما باید بتوانید در انتهای مسیر یادگیری JavaScript چیزی عینی را تجسم کنید. این میتواند چیزی ساده باشد (مانند کلیک کردن روی یک دکمه و اجرای یک انیمیشن خاص) تا یک برنامهی پیچیده (مانند ساخت یک برنامه چت). شما نمی توانید از یک هدف انتزاعی مانند “یادگیری در حد استخدام” استفاده کنید. اگر از آن به عنوان هدف استفاده کنید، گم خواهید شد زیرا همه به طور متفاوتی استخدام میکنند. با استفاده از هدفی که شخص دیگری تعیین کرده است، خود را خراب نکنید. بعلاوه، اگر میخواهید استخدام شوید، میتوانید با مهارتهای کمتری از آنچه تصور میکنید به استخدام در بیایید.
هنگامی که هدف نهایی خود را دانستید، میتوانید برگردید و مواردی را که احتمالاً برای رسیدن به آنجا باید یاد بگیرید فهرست کنید. این لیست نقشه یادگیری شماست. با استفاده از این نقشه، هر بار یک مورد را بررسی کنید، تا زمانی که آنچه را که قصد ساخت آن را دارید به اتمام برسانید. سپس، مراحل را تکرار کرده و چیز جدیدی یاد بگیرید.
۳. کوتاهترین مسیر بین این دو نقطه چیست؟
نقشه یادگیری که ایجاد کردهاید از مسیرهای پیچ در پیچ تشکیل شده است. نمیدانید چه مسیرهای پیچ در پیچ ایجاد کردهاید. بدتر از آن، شما نمیدانید که آیا مسیر مستقیم دیگری وجود دارد که شما را سریعتر به آنچه میخواهید برساند ولی از چشم شما پنهان مانده باشد؟
این انتظار میرود وقتی شما درحال ترسیم نقشه برای یک مکان ناشناخته هستید، مسیرهای مستقیم را نشناسید و مسیر پر پیچ و خمی را انتخاب کنید. اینجاست که یک مربی میتواند وارد شود و کمک کند. مربی مسیری را که میخواهید طی کنید طی کرده است. اگر مربی دارید با آنها مشورت کنید. از آنها بپرسید چگونه میتوانید به مکانی که میخواهید برسید. اگر فاقد مربی هستید هم مشکلی نیست. بعضی اوقات، برای یادگیری فقط باید در آن مسیر پر پیچ و خم قرار بگیرید.
ادامه یک نقشه راه کلی را معرفی و بررسی میکنیم. برای JavaScript ، این مستقیم ترین مسیری است که میشناسم. برای راهنمایی می توانید از این مورد استفاده کنید.
چهار مرحله برای یادگیری JavaScript
یادگیری جاوا اسکریپت مانند بزرگ شدن است. مراحل مختلف رشد وجود دارد. میتوانید آن را در چهار مرحله زیر مشاهده کنید:
فاز نوزاد
فاز کودک
مرحله نوجوان
مرحله بزرگسالان
بگذارید هر مرحله را به طور خلاصه مرور کنیم تا بفهمید کجا هستید و کجا باید انرژی خود را متمرکز کنید.
فاز نوزاد
اگر کار خود را با JavaScript آغاز کردهاید ، در مرحله نوزاد هستید. شما در مورد JavaScript بی خبر هستید و سینتکسها برای شما ناآشنا هستند. آنچه در این مرحله باید روی آن متمرکز شوید یادگیری کامل سینتکسهای جاوااسکریپت است تا بدانید دیگران هنگام گفتن مواردی مانند اشیا، آرایهها، توابع و غیره، درباره چه چیزی صحبت میکنند.
فاز کودک
اگر از قبل با سینتکس مقدماتی JavaScript آشنا باشید، در مرحله کودک هستید. در این مرحله، شما هنوز نمیدانید که چگونه از ابتدا چیزها را بسازید. شما اغلب به کمک احتیاج دارید. شاید بتوانید پس از ساعتها سرچ کردن در گوگل چیزی را کپی پیست کرده و اصلاح کنید، اما هنوز به مهارتهای JavaScript خود اطمینان ندارید. شما نمی دانید DOM چگونه کار میکند. شما نمیدانید که چگونه کدها را از ابتدا بسازید.
در این مرحله، بر روشهای یادگیری تمرکز کنید که توسط DOM به شما ارائه شده است. درباره انتخاب عناصر، پیمایشDOM ، افزودن و حذف موارد ازDOM ، تغییر سبکها و کلاسها بدانید. سعی کنید چیزهای ساده ای مثل آکاردئون درست کنید. حتی ممکن است با کلیک روی یک دکمه یک منو نشان داده شود. در ابتدا کپی پیست کردن اشکالی ندارد، اما مطمئن شوید که مولفه component خود را از ابتدا بنویسید تا مکانیک اصلی آن را بفهمید.
مرحله نوجوان
اگر از قبل میدانید چگونه از ابتدا کدهایی بسازید، در مرحله نوجوان هستید. تا حدی اطمینان دارید که قادر خواهید بود هر چیزی که مربوط به DOM است را بسازید، اما هنوز نمیتوانید به راحتی آن را انجام دهید. کد شما ممکن است نامنظم و نامرتب باشد. این ممکن است بهترین روش نباشد، اما حداقل شما کارها را انجام دادهاید.
گام بعدی یادگیری بهترین روشها از کتابها و متخصصان اطراف است. آنچه که میتوانید را بیاموزید، سپس آنچه را که ساختهاید دوباره بسازید. از روشهای جدیدی که آموختهاید برای درونی کردن آنها استفاده کنید. این همان جایی است که میخواهید برنامه نویسی شی گرا (OOP) و برنامه نویسی عملکردی (FP) را شروع کنید.
مرحله بزرگسالان
سرانجام، در مرحله بزرگسالان، شما به قدری JavaScript میدانید که میتواند خطرناک باشد. تقریباً هر چیزی که بخواهید میتوانید بسازید. از تمیزی کد خود اطمینان دارید. شما بهترین روشها را میدانید و از همه آنها استفاده کردهاید. اکنون وقت آن است که لانه را ترک کرده و به دنبال چیزهای جدید و مرتبط باشید.
در اینجا، شما چند گزینه دارید:
میتوانید یک چارچوب (frontend) مانند Angular ،Vue یا React یاد بگیرید.
میتوانید Node را یاد بگیرید و یک backend بسازید.
میتوانید حتی عمیق تر به JavaScript بروید.
هر گزینهای که بخواهید میتوانید انتخاب کنید. به یاد داشته باشید، انگیزه شما عامل تعیین کننده است. اجازه ندهید شخص دیگری برای شما تصمیم بگیرد.
اگر تصمیم بگیرید یک چارچوب frontend را یاد بگیرید، شما قادر خواهید بود یک وب اپلیکیشن کامل و پیچیده را با هزاران قابلیت مختلف را فقط با جاوااسکریپت بسازید.
اگر تصمیم بگیرید Node را یاد بگیرید، سفر خود را به سمت یک برنامه نویس کاملاً پشته شروع خواهید کرد. در اینجا، شما باید در مورد پایگاه داده و پیکربندی سرور به طور همزمان یاد بگیرند.
اگر تصمیم بگیرید بیشتر به عمق JavaScript بروید، یاد میگیرید که چگونه کد بهتر و تمیزتری بنویسید. در نهایت، این امر به شما در هر Node یا هر فریم ورک JavaScript که قصد دارید انتخاب کنید، کمک میکند.
نتیجه گیری
در اینجا ما یک نقشه راه برای شما تعریف کردیم که آموزش جاوا اسکریپت برای شما سادهتر و سریعتر باشد و از سردرگمی در بیایید. جاوا اسکریپ یک زبان مفسری سطح بالا است که به شما امکان برنامهنویسی سمت سرور (Server Side) را میدهد و میتوانید با آن اپلیکیشنهای موبایل، بازی و .. ایجاد کنید.