احتمالا شمایی که در حال خواندن این مطلب هستید، یک برنامهنویس باشید. شاید از جایگاه شغلی خوبی هم برخوردار هستید، شاید هم رییس، خودتان هستید و به عنوان یک فریلنسر موفق شناخته میشوید، شاید هم به تازگی شروع به یادگیری برنامهنویسی کردهاید. به هر حال فرق چندانی نمیکند. این نوشتار به شما کمک میکند تا با 10 مورد از مهمترین جنبههای جاوا اسکریپت آشنا شوید. اگر فکر میکنید که در جاوا اسکریپت مهارت زیادی دارید این مقاله یک مرور مناسب برای شما خواهد بود و اگر هم تازهکار هستید، یک نقشه راه عالی برای آموزش جاوا اسکریپت به شماست.
این مورد، احتمالا اساسیترین و ابتداییترین موضوع در این نوشتار و یکی از مهمترین موارد (اگر نگوییم مهمترین مورد) این لیست است. اگر نمیدانید که چطور ترتیب دستورات را در کد خود بنویسید، کارتان خیلی سخت میشود. دانستن زیر و بمهای اصول اولیه جریان کنترل از نان شب هم واجبتر است!
دستورات شرطی پیشرفته: استفاده از عملگرهای ترنری (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'
مهم نیست که شما برنامهنویس Front-End باشید یا Back-End. در سال اول کار خود، احتمالا فقط از دستور console.log یا console.error برای رفع خطاها استفاده میکنید. برای نوشتن برنامههای موثر، قطعا باید روش خود را عوض کنید. شما باید یک ساختار موثر برای یافتن خطاها بسازید، هم چنین باید به کاربر به طور دقیق نشان دهید که اشکال از کجاست.
همانطور که باید پیوستگی را در کدهای خود رعایت کنید، باید حواستان به نحوه دستهبندی اطلاعات و محل ذخیره آنها نیز باشد. این فقط مختص به مدلهای دیتابیس نیست، بلکه شامل پارامترهای توابع، objects و متغیرها نیز میشود. مثال:
const calcShape = (width, height, depth, color, angle) => {...};
const=calcShape = ({width, height, depth, color, angle}) => {...};
یک جنبه بسیار مهم از جاوا اسکریپت است. فرض کنید که در حال انتقال داده از سمت backend و یا در حال پردازش یک سری درخواست در خود Back-End هستید. همه اینها یک ویژگی مشترک دارند: همه در زمانهای متفاوت روی میدهند یا به عبارت دیگر ناهمزمان هستند. اگر شما با مفهوم ناهمزمانی آشنا نباشید، با یک خطای عجیب و غریب رو به رو میشوید و احتمالا ساعتها وقت شما را تلف خواهد کرد. اگر هم با این مفهوم آشنا باشید، اما دقیقا ندانید که چطور باید با آن رفتار کنید، وارد جهنم کالبکها میشوید. برای فرار از این مشکل میتوانید از promis و یا async await استفاده کنید.
معمولا برنامهنویسان این مورد را نادیده میگیرند. شاید به خاطر استفاده از jQuery یا یک کتابخانه Front-End احساس کردید که نیاز نیست درباره DOM اطلاعات چندانی داشته باشید. اما آشنایی با DOM برای یک برنامه نویس Front-End بسیار ضروری است. دانستن این که DOM چطور عمل میکند به شما کمک میکند تا درک عمیقتری از نحوه عملکرد یک وبسایت پیدا کنید. فرض کنید که در حال استفاده از یک فریمورک مدرن هستید و باید به یک المنت دسترسی پیدا کنید، قطعا نمیخواهید تا برای دسترسی به یک المنت jQuery را وارد package.json کنید.
حتی اگر یک برنامهنویس Front-End هستید، باید کار با Node.js را بلد باشید. اگر بدانید که چطور تعدادی روت را اضافه کنید یا این که آنها را تغییر بدهید، بسیار به شما کمک میکند. جاوا اسکریپت یک ابزار عالی برای خودکار کردن بسیاری از کارهاست. در نتیجه، دانستن نحوه خواندن فایلها، کار با مسیر فایلها و یا بافرها به شما در ساختن برنامهتان بسیار کمک میکند.
رویکرد تابعگرا و یا شیگرا؟ این یکی از قدیمیترین بحثها در دنیای برنامهنویسی است. شما احتمالا با هر دو رویکرد به نتایج یکسانی میرسید. در جاوا اسکریپت، نسبت به زبانهای دیگر، استفاده از هر یک از این روشها آسانتر است. کتابخانههایی مانند lodash در ساخت برنامههایی با رویکرد تابعگرا به شما کمک بسیاری میکنند. امروزه، حتی نیاز چندانی به استفاده از کتابخانههای خارجی نیست. خیلی از ویژگیهای برنامهنویسی تابعگرا در نسخه رسمی جاوا اسکریپت وجود دارد. فرض این است که شما قطعا کار با دستورات map ،reduce ،forEach و find را بلد هستید.
مشابه با رویکرد تابعگرا، آشنایی با جاوا اسکریپت شیگرا بسیار ضروری است. شاید با خودتان فکر کنید میشود رویکرد شیگرا را نادیده گرفت و از ابزار دیگر استفاده کرد، اما گاهی اوقات استفاده از object و یا class بسیار کمککننده است. کلاسها در React و یا MobX بسیار استفاده میشوند.
React.js ،Angular و Vue مهمترین کتابخانههای جاوا اسکریپت هستند. دنبال هر شغلی که باشید، دانستن حداقل یکی از این فریمورکها ضروری است. با وجود تغییرات زیاد این فریمورکها، یادگیری مفاهیم کلی آنها الزامی است. همچنین نوشتن برنامههای مختلف را هم بسیار راحت میکنند. اگر هنوز فریم ورکی را انتخاب نکردهاید، پیشنهاد ما React.js است.
این بحث فقط مختص به جاوا اسکریپت نیست اما بسیار کمککننده است. البته به همان اندازه گیجکننده هم هست! یادگرفتن اصول عبارات با قاعده میتواند خیلی وقتگیر باشد اما مطمئن باشید ارزشش را دارد!
منبع: سایت gitconnected
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.