احتمالا شمایی که در حال خواندن این مطلب هستید، یک برنامهنویس باشید. شاید از جایگاه شغلی خوبی هم برخوردار هستید، شاید هم رییس، خودتان هستید و به عنوان یک فریلنسر موفق شناخته میشوید، شاید هم به تازگی شروع به یادگیری برنامهنویسی کردهاید. به هر حال فرق چندانی نمیکند. این نوشتار به شما کمک میکند تا با 10 مورد از مهمترین جنبههای جاوا اسکریپت آشنا شوید. اگر فکر میکنید که در جاوا اسکریپت مهارت زیادی دارید این مقاله یک مرور مناسب برای شما خواهد بود و اگر هم تازهکار هستید، یک نقشه راه عالی برای آموزش جاوا اسکریپت به شماست.
نکات مهم برای تسلط بر جاوا اسکریپت
1. جریان کنترل
این مورد، احتمالا اساسیترین و ابتداییترین موضوع در این نوشتار و یکی از مهمترین موارد (اگر نگوییم مهمترین مورد) این لیست است. اگر نمیدانید که چطور ترتیب دستورات را در کد خود بنویسید، کارتان خیلی سخت میشود. دانستن زیر و بمهای اصول اولیه جریان کنترل از نان شب هم واجبتر است!
- دستور if else: اگر این دستور را نمیدانید پس چطور کد مینویسید؟!
- دستور switch: همان دستور if else است، منتها خلاصهتر و ظریفتر. مواقعی که باید از چند شرط پشت سر هم استفاده کنید switch یادتان نرود!
- دستور for: به لطف وجود لوپها یا حلقهها، خیلی از تکرارها از کدنویسی حذف شدهاند، به جز دستور for، دستورات for of و for in هم بسیار کاربردی هستند. بهترین مزیت for ها این است که میتوان آنها را به همراه دستور async await استفاده کرد.
دستورات شرطی پیشرفته: استفاده از عملگرهای ترنری (ternary operators) و عملگرهای منطقی (logical operators) کد زدن را بسیار راحتتر میکند، مخصوصا وقتی که قصد ذخیره کردن کمیتها را ندارید. مثال:
// ternary
console.log(new Date().getHours() < 12 ? ‘Good Morning!’ : ‘Time for a siesta’)
// logical operators
console.log(isJsMaster && ‘proficient coder’)
const isJsMaster = prompt(‘Are you a JavaScript master?’) === ‘true’
2. کنترل خطاها
مهم نیست که شما برنامهنویس Front-End باشید یا Back-End. در سال اول کار خود، احتمالا فقط از دستور console.log یا console.error برای رفع خطاها استفاده میکنید. برای نوشتن برنامههای موثر، قطعا باید روش خود را عوض کنید. شما باید یک ساختار موثر برای یافتن خطاها بسازید، هم چنین باید به کاربر به طور دقیق نشان دهید که اشکال از کجاست.
3. دستهبندی اطلاعات
همانطور که باید پیوستگی را در کدهای خود رعایت کنید، باید حواستان به نحوه دستهبندی اطلاعات و محل ذخیره آنها نیز باشد. این فقط مختص به مدلهای دیتابیس نیست، بلکه شامل پارامترهای توابع، objects و متغیرها نیز میشود. مثال:
const calcShape = (width, height, depth, color, angle) => {…};
const=calcShape = ({width, height, depth, color, angle}) => {…};
4. ناهمزمانی
یک جنبه بسیار مهم از جاوا اسکریپت است. فرض کنید که در حال انتقال داده از سمت backend و یا در حال پردازش یک سری درخواست در خود Back-End هستید. همه اینها یک ویژگی مشترک دارند: همه در زمانهای متفاوت روی میدهند یا به عبارت دیگر ناهمزمان هستند. اگر شما با مفهوم ناهمزمانی آشنا نباشید، با یک خطای عجیب و غریب رو به رو میشوید و احتمالا ساعتها وقت شما را تلف خواهد کرد. اگر هم با این مفهوم آشنا باشید، اما دقیقا ندانید که چطور باید با آن رفتار کنید، وارد جهنم کالبکها میشوید. برای فرار از این مشکل میتوانید از promis و یا async await استفاده کنید.
5. تغییر DOM
معمولا برنامهنویسان این مورد را نادیده میگیرند. شاید به خاطر استفاده از jQuery یا یک کتابخانه Front-End احساس کردید که نیاز نیست درباره DOM اطلاعات چندانی داشته باشید. اما آشنایی با DOM برای یک برنامه نویس Front-End بسیار ضروری است. دانستن این که DOM چطور عمل میکند به شما کمک میکند تا درک عمیقتری از نحوه عملکرد یک وبسایت پیدا کنید. فرض کنید که در حال استفاده از یک فریمورک مدرن هستید و باید به یک المنت دسترسی پیدا کنید، قطعا نمیخواهید تا برای دسترسی به یک المنت jQuery را وارد package.json کنید.
6. Node.js / Express
حتی اگر یک برنامهنویس Front-End هستید، باید کار با Node.js را بلد باشید. اگر بدانید که چطور تعدادی روت را اضافه کنید یا این که آنها را تغییر بدهید، بسیار به شما کمک میکند. جاوا اسکریپت یک ابزار عالی برای خودکار کردن بسیاری از کارهاست. در نتیجه، دانستن نحوه خواندن فایلها، کار با مسیر فایلها و یا بافرها به شما در ساختن برنامهتان بسیار کمک میکند.
7. رویکرد تابعگرا
رویکرد تابعگرا و یا شیگرا؟ این یکی از قدیمیترین بحثها در دنیای برنامهنویسی است. شما احتمالا با هر دو رویکرد به نتایج یکسانی میرسید. در جاوا اسکریپت، نسبت به زبانهای دیگر، استفاده از هر یک از این روشها آسانتر است. کتابخانههایی مانند lodash در ساخت برنامههایی با رویکرد تابعگرا به شما کمک بسیاری میکنند. امروزه، حتی نیاز چندانی به استفاده از کتابخانههای خارجی نیست. خیلی از ویژگیهای برنامهنویسی تابعگرا در نسخه رسمی جاوا اسکریپت وجود دارد. فرض این است که شما قطعا کار با دستورات map ،reduce ،forEach و find را بلد هستید.
8. رویکرد شیگرا
مشابه با رویکرد تابعگرا، آشنایی با جاوا اسکریپت شیگرا بسیار ضروری است. شاید با خودتان فکر کنید میشود رویکرد شیگرا را نادیده گرفت و از ابزار دیگر استفاده کرد، اما گاهی اوقات استفاده از object و یا class بسیار کمککننده است. کلاسها در React و یا MobX بسیار استفاده میشوند.
9. فریمورکهای Front-End
React.js ،Angular و Vue مهمترین کتابخانههای جاوا اسکریپت هستند. دنبال هر شغلی که باشید، دانستن حداقل یکی از این فریمورکها ضروری است. با وجود تغییرات زیاد این فریمورکها، یادگیری مفاهیم کلی آنها الزامی است. همچنین نوشتن برنامههای مختلف را هم بسیار راحت میکنند. اگر هنوز فریم ورکی را انتخاب نکردهاید، پیشنهاد ما React.js است.

10. عبارات باقاعده
این بحث فقط مختص به جاوا اسکریپت نیست اما بسیار کمککننده است. البته به همان اندازه گیجکننده هم هست! یادگرفتن اصول عبارات با قاعده میتواند خیلی وقتگیر باشد اما مطمئن باشید ارزشش را دارد!
منبع: سایت gitconnected