دستورات جاوا اسکریپت که باید بدانید – ۵۰ دستور کلیدی
جاوا اسکریپت امروزه یکی از رایجترین زبانهای برنامه نویسی است و از این رو درک و یادگیری دستورات جاوا اسکریپت برای علاقهمندان و برنامه نویسانی که از این زبان استفاده میکنند، امری ضروری به حساب میآید. درک دستورات زبان برنامه نویسی JavaScript و یادگیری آنها به کاربران کمک میکند روند کد نویسی خود را سرعت ببخشند و در عین حال دقت بیشتری در کدنویسی به خرج دهند. قرار است کاربران با مطالعه این مطلب با ٥٠ تا از کاربردیترین دستورات جاوا اسکریپت آشنا شوند و بتوانند مهارتهای کدنویسی خود را در جاوا اسکریپت بهبود ببخشند.
سه نوع داده در دستورات جاوا اسکریپت
قبل از اینکه به اصل مسئله یعنی تشریح دستورات مهم جاوا اسکریپت پرداخته شود، ابتدا بهتر است در رابطه با انواع داده در زبان جاوا اسکریپت به چند نکته اشاره کنیم. به صورت کلی سه نوع داده در دستورات جاوا اسکریپت وجود دارد. با استفاده از این سه نوع داده گوناگون، عملیات پیچیده و مختلفی را میتوان اجرا کرد، اما نوع دادههای دیگری از آنها مشتق نخواهند شد.
همچنین ویژگیهای اضافی و بیشتری را نیز میتوان به انواع دادههای اولیه اضافه کرد. سه نوع دادهای که در دستورات جاوا اسکریپت بسیار کاربرد دارند در ادامه فهرست شده است.
- دادههای عددی
- دادههای رشتهای
- دادههای بولین
در ادامه در رابطه با سه تابع مهم برای کار با این دادهها توضیحاتی ارائه شده است.
مقادیر عددی در جاوا اسکریپت
تابع Number() جواب معادلهای را بازمیگرداند. این تابع همچنین میتواند مقدار «NaN» را بازگرداند. زمانی مقدار NaN در جاوا اسکریپت بازگردانده خواهد شد که انجام یک محاسبه غیرممکن باشد.
برای مثال، زمانی که عددی بر صفر تقسیم میشود، این اتفاق رخ خواهد داد و منجر به تولید مقدار NaN میشود. یا برای مثال، زمانی که این تابع با عبارتهای رشته (استرینگ | String) برخورد میکند، دوباره NaN را بازمیگرداند زیرا این عبارتهای رشتهای، مقدار عددی نیستند. برای این شی باید از تابعString() استفاده کرد. اگر هیچ آرگومانی در پارامترهای شی ارائه نشده باشد، تابع Number()مقدار صفر را بازمیگرداند.
مقادیر رشته ای در جاوا اسکریپت
تابع String()در دستورات جاوا اسکریپت، مقداری حاوی حروف الفبا را بازمیگرداند.
برای مثال کدString a=new String(“There are three primitive data types”); فقط عبارت «There are three primitive data types» را چاپ میکند، زیرا این تابع فقط با رشتهها سروکار دارد و در این میان کاراکتر a «متغیری» (Varible) مرجع به حساب میآید. توجه به این نکته ضروری است که پس از ایجاد متد String()نمیتوان در آن تغییراتی ایجاد کرد.
مقادیر بولی در جاوا اسکریپت
تابعBoolean() شی را معادل با یکی از دو پاسخ «True» یا «False» ارزیابی میکند. در واقع میتوان گفت که تابع بولی فقط مقدار True یا False را برمیگرداند. برای مثال، مواردی که در آن این تابع مقدار False را بازمیگرداند در ادامه فهرست شدهاند.
- زمانی که پارامتر مقدار «Null» باشد.
- وقتی پارامتر مقدار تعریف نشده باشد.
- زمانی که پارامتر مقدار 0 باشد.
- وقتی پارامتر مقدار 0- باشد.
- زمانی که پارامتر مقدار گنجانده نشده باشد.
- وقتی رشته خالی باشد.
اهمیت نقطه ویرگول در دستورات جاوا اسکریپت
در هنگام کار با دستورات جاوا اسکریپت، توجه به علامت «نقطه ویرگول» (;) در پایان دستورات ضروری است. همچنین در صورتی که کاربر آن را فراموش کند، جاوا اسکریپت خودش آن را انجام میدهد. اگر هم چنین اتفاقی نیفتند، اجرای کدها با مشکل مواجه خواهد شد و باید کاربر خط مدنظر را پیدا کرده و خطا را رفع کند. برنامهنویس جاوا اسکریپت باید به قرار دادن نقطه ویرگول در پایان دستورات عادت کند.
دستورات جاوا اسکریپت
امروزه تقریباً جاوا اسکریپت زبان رسمی وب به حساب میآید و علاوه بر آن، این زبان در برنامههای تلفن همراه و ساخت بازی نیز کاربر دارد. همچنین جاوا اسکریپت به علت اینکه زبانی سطح بالا و منبع آزاد (اوپن سورس) است به کاربر کمک میکند برنامههای کاربردی پویا و جذابی بسازد.
همچنین یادگیری جاوا اسکریپت ساده است و میتوان با «کد ادیتورهای» (ویرایشگر کُد) بسیار ساده، کدهای جاوا اسکریپت را نوشت و آنها را اجرا کرد. نکته مهم در برنامه نویسی جاوا اسکریپت، ساختارمند بودن کدها است. فقدان ساختار در کدنویسی جاوا اسکریپت میتواند موجب به وجود آمدن مشکلات زیادی شود که کنترل آنها آسان نیست.
با استفاده از دستورات جاوا اسکریپت میتوان ساختار مناسبی به کدهای جاوا اسکریپت بخشید و در صورت نیاز به آنها مراجعه کرد. در ادامه ٥٠ دستور برتر جاوا اسکریپت به کاربران معرفی میشوند. این دستورات از اهمیت بسیار بالایی برخوردار هستند.
1. دستور Document.getElementById
جاوا اسکریپت و کتابخانههایی مانند «jQuery» به کاربر این امکان را میدهند تا کدهای نوشته شده را بر اساس نام یا کلاس «HTML» خاص پردازش کنند. این کار ممکن است زمان پردازش را افزایش دهد، زیرا دستور باید کل کدهای نوشته شده را بررسی کند تا برچسب مناسب را بیابد. با استفاده از دستور «Document.getElementById» در جاوا اسکریپت میتوان این کار را از طریق «مدل شی سند» (DOM) انجام داد و سرعت پردازش کدها را افزایش داد.
2. دستورات ورودی و خروجی جاوا اسکریپت
یکی از انواع دستورات جاوا اسکریپت، دستورات ورودی و خروجی هستند. از آن جا که همه برنامهها و کدهای نوشته شده با جاوا اسکریپت به تعامل با کاربر نیاز دارند، در نتیجه آشنایی با این دستورات و نحوه استفاده از آنها ضروری است.
در جاوا اسکریپت، این کار با تابع به شکل دستورات Alert() و Prompt() قابل انجام است. «Alert» اطلاعات را از طریق یک جعبه گفتگو به کاربر ارسال میکند و به صورت مشابه تابع «Prompt» به آن پاسخ میدهد. «سینتکس» (Syntax) دستورات ورودی و خروجی جاوا اسکریپت به صورت زیر است.
1alert("message");
2
3stringVar = prompt("message")
3. دستور SetTimeout
تابع «SetTimeout» نوعی تابع بومی جاوا اسکریپت به حساب میآید. این تابع جاوا اسکریپت به کاربر امکان میدهد دستورات جاوا اسکریپت را به طور خودکار در زمانی خاص بدون دخالت کاربر اجرا کند. این تابع ساده جاوا اسکریپت فقط به دو پارامتر دستور و زمان نیاز دارد که کاربر میخواهد آن دستور را به صوت خودکار در آن زمان مشخص اجرا کند.
در این تابع تایمری با شمارش معکوس برحسب میلیثانیه برای اجرای دستور تنظیم میشود و پس از اتمام تایمر، دستور، تابع را فراخوانی میکند و اجرا میشود. سینتکس این دستور در زبان جاوا اسکریپت به صورت زیر است:
1setTimeout(command, time);
در سینتکس بالا، زمان بر حسب میلیثانیه است، اما دستور میتواند هر چیزی باشد. مثال زیر در این رابطه ارائه شده است:
1setTimeout(myfunction, 5000);
در مثال بالا، دستور SetTimeout در جاوا اسکریپت تابع myfunction را بعد از 5 ثانیه اجرا میکند.
4. دستور Setinterval
با استفاده از دستور «Setinterval» کاربر میتواند به طور مکرر دستورات جاوا اسکریپت را اجرا کند. متد SetInterval() تابعی را در بازههای زمانی مشخص (برحسب میلیثانیه) فراخوانی میکند. متد Setinterval زمانی کاربردی و مفید خواهد بود که نیاز باشد دادهها از پایگاه داده در بازههای زمانی دلخواه بهروز شوند. سینتکس این دستور در جاوا اسکریپت در ادامه آمده است:
1setInterval(command, time);
5. دستورات جاوا اسکریپت ClearTimeout و ClearInterval
برای استفاده از دستورات جاوا اسکریپت «Settimeout» و «Setinterval»، به دستور پاک کردن این دستورات نیز نیاز است، چون قرار نیست این دستورات دائماً در حال اجرا باشند. برای این هدف، از دستورات «ClearTimeout» و «ClearInterval» استفاده میشود. ClearTimeout و ClearInterval نام متغیر دستور SET را میگیرند و سپس آن را از حافظه حذف میکنند.
همچنین، مقدار شناسه عددی که توسط تابع setTimeout() بازگردانده میشود، در متغیری ذخیره خواهد شد و برای پاک کردن تایمر به تابع clearTimeout() منتقل میشود. به طور مشابه، همان فرآیند برای setInterval() و clearInterval() انجام خواهد شد. مثال زیر نحوه استفاده از این دستورات را نشان میدهد.
1$timer = setInterval(command, 5000);
2clearInterval($timer);
6. دستور Var در جاوا اسکریپت
«Var» یکی از دستورات ساده جاوا اسکریپت است، ولی با این حال بیشتر برنامه نویسان فراموش میکنند از این دستور استفاده کنند. Var دستوری است برای ایجاد متغیرها، ولی با این حال، بدون این دستور نیز میتوان متغیرها را ایجاد کرد. متغیرهایی که توسط این دستور ایجاد میشوند از نوع جهانی یا سراسری هستند.
در استفاده از این دستور باید دقت کافی را به خرج داد، زیرا هم منابع بیشتری مصرف میکند و هم از طرفی اعلان رسمی و مستقیم متغیر در برنامه نسبت به زمانی بهینهتر است که از این دستور استفاده میشود.
7. دستور Self-calling در جاوا اسکریپت
تابع «خود فراخوانی» (Self-Calling) یکی از دستورات جاوا اسکریپت است که به محض ایجاد، اجرا میشود. اگر دستور تعیین شده با علامت () آورده شود، عبارتهای تابع به صورت کاملاً خودکار اجرا خواهند شد. با این وجود نمیتوان اعلان تابع را خود فراخوانی کرد.
در جاوا اسکریپت به این دستورها «توابع ناشناس خود فراخوانی شده یا عبارتهای تابع فوری فراخوانی شده» (Immediately Invoked Function Expression) نیز گفته میشود. مثالی از این دستور به صورت زیر است:
1(function(){ // some private code that will be executed automatically})
8. دستور Math.random
دستور «Math.random» دستوری برای تولید اعداد تصادفی در جاوا اسکریپت است. به طور دقیقتر، این دستور عددی شبهتصادفی با ممیز شناور را در محدوده 0 تا کمتر از 1 (شامل 0، اما یک نه) با توزیع تقریباً یکنواخت در آن محدوده باز میگرداند که پس از آن میتوان عدد را به محدوده دلخواه توزین کرد.
9. دستور Map در جاوا اسکریپت
دستور «Map» در جاوا اسکریپت به کاربر امکان میدهد آرایه در جاوا اسکریپت یا مجموعه را پیمایش کند. در واقع Map به عنوان یکی از دستورات جاوا اسکریپت، با اجرای تابعی معین روی هر عضو آرایه والد، آرایهای جدید میسازد. این رویکرد چیزی را تغییر نمیدهد. متد map() اغلب برای عبور از آرایه و اجرای تابعی در هر ورودی مورد استفاده قرار میگیرد. متد نام برده، به منظور اجرای دستورات روی آرایههای بزرگ بسیار مناسب است.
10. دستور Debounce
«Debounce» نوعی دستور جاوا اسکریپت به حساب میآید که تعداد دفعات اجرای دستورات Javascript را محدود میکند. این دستور از لحاظ عملکردی کاملاً برعکس دستور «Timeout» عمل میکند. همچنین دستور Debounce زمانی مناسب است که تعاملات مکرر کاربر، عملکرد برنامه را کاهش دهند یا مشکلات دیگری را ایجاد کنند.
میتوان گفت که تابع Debounce اطمینان حاصل میکند کد برنامه فقط یک بار در هر ورودی کاربر فعال میشود. برای مثال، مواردی مانند پیشنهادهای کادر جستجو، ذخیره خودکار فیلد متنی و سایر موارد، همگی از این دستور برای اجرای منطقی استفاده میکنند.
11. دستور Poll
بسیاری از دستورات جاوا اسکریپت پس از پایان اجرا به سیستم هشدار نمیدهند و برای این هدف خیلی از وقتها کاربر باید به صورت دستی بررسی کند آیا عملکردی متوقف شده است یا استثنایی وجود دارد یا خیر. برای خودکارسازی این فرایند، از دستور «Poll» استفاده میشود. اگرچه این دستور کمی پیچیده است، اما ارزش استفاده را دارد.
12. دستور Once در جاوا اسکریپت
دستور «Once» به کاربر امکان میدهد دستوری را فقط و فقط یک بار در طول اجرای برنامه اجرا کند. حتی اگر این تابع چندین بار فراخوانی شده باشد، با استفاده از این دستور فقط یک بار اجرا میشود. مقادیر تابع اصلی فقط با هر بار فراخوانی بازگردانده میشوند. این دستور بیشتر در «شنونده رویداد» (Event listeners) در جاوا اسکریپت کاربر دارد.
13. دستور GetAbsoluteUrl
دستور «GetAbsoluteUrl» در جاوا اسکریپت URL واقعی آدرس وب را به کاربر میدهد. مثلاً زمانی که دادههای رشتهای زیادی موجود است، این دستور فقط رشته URL را از میان آنها با حذف تمام پرسوجوها استخراج میکند. مثالی برای اجرای این دستور در جاوا اسکریپت به صورت زیر است:
1var getAbsoluteUrl = (function() {var a;return function(url) {if(!a) a = document.createElement('a');a.href = url;return a.href;};})();// UsagegetAbsoluteUrl('/something'); //
2
14. دستور String.replace
به عنوان یکی از دستورات جاوا اسکریپت، دستور «Replace» به کاربر امکان میدهد رشته را در متن تغییر دهید. این دستور متن را برای رشتهای که کاربر میخواهد جایگزین کند، پیمایش کرده و تغییرات لازم را اعمال میکند. الگوی جستجو در این دستور جاوا اسکریپت میتواند رشته متنی ساده یا «عبارتهای منظم» (عبارتهای با قاعده | Regular Expressions) باشد.
پس از اجرا، دستور String.replace این رشته جدید را بازمیگرداند و رشته اصلی بدون تغییر باقی میماند. این دستور میتواند برای جستجو و جایگزینی زیر رشتههای خاص از رشتههای طولانی و تکراری استفاده شود.
15. دستور Array.Push در جاوا اسکریپت
دستور «Push»، عناصر را به آرایهها در جاوا اسکریپت اضافه میکند. همچنین این متد طول آرایه را تغییر میدهد و طول جدیدی تولید میکند. همچنین متد Push آرایه را مستقیماً بدون برگرداندن چیزی تغییر میدهد.
16. دستور Array.filter
یکی از دستورات جاوا اسکریپت، دستور «Filter» است که بر اساس برخی معیارها، عناصری را از یک آرایه خارج میکند و سپس آرایهای جدید را فقط با آن موارد ایجاد خواهد کرد. تابع Filter روی مقادیر موجود در آرایهای تکرار خواهد شد و مقادیر فیلتر شده را بازمیگرداند.
17. دستور Array.reduce در جاوا اسکریپت
«Reduce» نیز یکی از دستورات javascript است که کمتر مورد استفاده قرار میگیرد، ولی با این حال کاربرد خاص خودش را دارد. این دستور عناصر آرایهای را به عناصری دیگر تبدیل میکند. متد reduce() تابع را برای عناصر آرایه خالی اجرا نمیکند. همچنین باید توجه داشت که متد reduce()آرایه اصلی را تغییر نمیدهد. این متد برای محاسبات بسیار مفید است و قابلیت این را دارد تا هر نوع متغیری را بازگرداند.
18. دستور String.toLowerCase
دستور «ToLowerCase» همانطور که از نام آن نیز پیداست، این دستور جاوا اسکریپت تمام کاراکترهای رشته را به حروف کوچک تبدیل میکند. دستور ToLowerCase رشته اصلی، محتوای آن رشته و یا طول آن را تغییر نمیدهد و آن را دستکاری نمیکند. این دستور محبوب در جاوا اسکریپت به کاربر امکان میدهد دادهها را به فرمتهای URL استاندارد تبدیل کند تا اکثر مرورگرهای وب آن را درک کنند.
19. دستور IsNative در جاوا اسکریپت
این تابع در جاوا اسکریپت نشان میدهد که آیا ویژگیهای خاصی که در مرورگر خاصی وجود دارند، ویژگی بومی آن مرورگر هستند یا از برنامههای شخص ثالث میآیند.
20. دستور String.substr
دستور «String.substr» در جاوا اسکریپت رشتهای را پیمایش میکند و بر اساس معیارهایی که تعیین شده است، متن مدنظر را از رشته بازمیگرداند. در این دستور باید مشخص شود که عملیات از کجا شروع و چه تعداد کاراکتر باید بازگردانده شود. از 20 دستور معرفی شده جاوا اسکریپت تا به اینجای مطلب، برخی از آنها در خود زبان JS تعبیه شدهاند و برخی از آنها نیز توسط جامعه توسعهدهندگان به وجود آمدهاند. تمام دستورات مورد بحث در این مطلب به کاربران کمک میکنند تا دانش و مهارت خود را از جاوا اسکریپت افزایش دهند.
21. دستور debug در جاوا اسکریپت
این دستور یکی از مهمترین دستورات جاوا اسکریپت است. دستور Debug(message) در جاوا اسکریپت برای ارسال پیام به پنجره کنسول استفاده میشود. دستور مذکور هر قابلیت اشکالزدایی (دیباگ کردن) موجود را فراخوانی خواهد کرد، اما باید به این نکته توجه داشت که این دستور زمانی که قابلیت اشکالزدایی فعال نباشد، عمل نخواهد کرد. مثالی از دستور Debug در جاوا اسکریپت به صورت زیر است:
1console.debug("log message");
در قطعه کد بالا، دستور پیام log را به پنجره کنسول ارسال خواهد کرد. این دستور با دستور console.log برابر است. در این دستور، اشیای منتقل شده با دستور به مقدار رشتهای تبدیل میشوند. دستور Debug بیشتر در «مایکروسافت ویژوال استودیو» (Microsoft Visual Studio) به عنوان نوعی فرمان ورود به سیستم کنسول مورد استفاده قرار میگیرد.
22. دستور string.toLowerCase
همانطور که از نام آن معلوم است، دستور toLowerCase() رشتهای را به عنوان ورودی میگیرد و تمام حروف آن را به حروف کوچک در زبان انگلیسی تبدیل میکند. شایان ذکر است، رشته اولیه در این تابع، رشتهای اصلاح نشده به حساب میآید. برای مثال، اگر متنی که کاربر به این تابع میدهد با حروف بزرگ باشد و اکنون کاربر آن را با حروف کوچک بخواهد، این تابع به کاربر کمک میکند تا آن رشته را با حروف کوچک در خروجی دریافت کند.
23. دستور Return در جاوا اسکریپت
زمانی که جاوا اسکریپت به عبارتهای بازگشتی میرسد، اجرای تابع به پایان خواهد رسید. همچنین اگر تابع از یک دستور جاوا اسکریپت درخواست شده باشد در نتیجه جاوا اسکریپت برای ادامه اجرای کد به دستور شروع بازخواهد گشت. در واقع دستور «Return» در جاوا اسکریپت اجرای تابع را پایان میدهد و مقداری را مشخص میکند که باید به فراخوان دهنده تابع برگردانده شود. مثالی از دستور Return در جاوا اسکریپت به صورت زیر است:
1var a = newFunction(6, 4); // called Function, the return value will be in a
2function newFunction(x, y) {
3 return x * y; // Function returns the multiplication of x and y
4}
خروجی دستور بالا به صورت زیر است:
24
24. دستور Floor در جاوا اسکریپت
دستور «Floor» نیز یکی از مهمترین دستورات جاوا اسکریپت به حساب میآید. Floor در واقع نوعی متد جاوا اسکریپت است که عددی را به بزرگترین عدد صحیح نزدیک گرد میکند و نتیجه بازمیگرداند. اگر پارامتر داده شده عددی صحیح باشد، آرگومان یا عدد داده شده گرد نخواهد شد. به عنوان مثال، دستور زیر آرگومان وارد شده را به نزدیکترین عدد صحیح گرد میکند.
1Math.floor(1.6);
خروجی این دستور عدد 2 است. در واقع در مثال بالا، تابع floor() شی Math که عددی ممیز شناور است را میپذیرد و بزرگترین عدد صحیح کمتر یا مساوی با عدد داده شده را برمیگرداند.
25. دستور حلقه For در جاوا اسکریپت
جاوا اسکریپت مانند زبانهای برنامه نویسی جاوا، پایتون و غیره، حاوی دستورات حلقه یا دستورات پیمایشی است. اگر کاربر بخواهد قطعه کد یا دستوراتی را به صورت مکرر اجرا کند، باید از دستورات حلقه استفاده شود. دستور حلقه For در جاوا اسکریپت بسیار مهم است. این حلقه، دستوری را برای انجام فرآیندی مشخص به صورت مکرر تکرار میکند. سینتکس این دستور در جاوا اسکریپت به صورت زیر است.
1for(initialize; condition; iteration)
2{
3 // Code
4}
5for (var a = 0; i < 10; a++) { console.log(a); }
حلقه For در جاوا اسکریپت سه بخش دارد. اولین بخش «Initializer» است که برای شروع کار حلقه، متغیری را مقداردهی اولیه میکند. بخش دوم «شرطهای» (Condition) حلقه است که در آن موقعیتی تعریف میشود که باید برای تکرار بعدی درست باشد تا حلقه ادامه یابد. بخش سوم «Iteration» است که برای افزایش یا کاهش شمارنده مورد استفاده قرار میگیرد.
26. دستور شرطی If-Else در جاوا اسکریپت
یکی دیگر از دستورات جاوا اسکریپت مورد بحث در این مطلب، دستور «If/Else» است. در دستور If/Else اگر شرایطی که برای آن تعریف شده، معتبر باشند و به TRUE ارزیابی شود، در نتیجه این دستور کاری را انجام میدهد و اگر شرط نامعتبر باشد و به False ارزیابی شود، در نتیجه دستور If/Else بخش دیگری از کدها را انجام خواهد داد.
دستور If/Else بخشی از دستورات شرطی جاوا اسکریپت به حساب میآید که برای اجرای فعالیتهای مختلف بر اساس شرایط مختلف استفاده میشود. به عنوان مثال، دستور زیر استفاده از دستور If/Else در جاوا اسکریپت را نشان میدهد.
1var time = new Date().getHours();
2 if(hours<12)
3 document.write("Hello, We will meet tomorrow morning<br />");
4 else
5 document.write("Hello, We will meet tomorrow afternoon<br />")
در مثال بالا، دستور شرطی If/Else برای تعیین روند اجرا در شرایط مختلف استفاده شده است. همانطور که قبلاً ذکر شد، اگر شرطی معتبر باشد، کاری انجام میشود و اگر شرط نامعتبر باشد؟، کار دیگری انجام خواهد گرفت.
27. دستور Constructor
دستور «Constructor» در جاوا اسکریپت برای ایجاد متدهای خاص استفاده میشود. حال اگر کاربر بخواهد متدی خاص را برای ایجاد و مقداردهی اولیه یک شی ایجاد شده در کلاسی ایجاد کند، میتواند از constructor() استفاده کند. علاوه بر این، کاربر همچنین میتواند عملیات مختلفی را با استفاده از دستور Constructor انجام دهد. برای ایجاد شی از تابعی سازنده، از کلمه کلیدی New استفاده میشود. سینتکس زیر، نحوه تعریف این دستور را نشان میدهد.
1constructor([arguments]) { ... }
28. دستور Math در جاوا اسکریپت
دستور «Math» یکی از مهمترین دستورات جاوا اسکریپت به حساب میآید و برای ساخت برنامههای پویا بسیار ضروری است. «شی» (Object) Math به کاربران اجازه میدهد تا محاسبات و وظایف مربوط به ریاضیات را در جاوا اسکریپت انجام دهند. شی Math نوعی سازنده به حساب نمیآید، بنابراین همه ویژگیها و تکنیکهای ریاضی را میتوان با استفاده از Math به عنوان نوعی شی، بدون ساختن آن فراخوانی کرد.
تمام خصوصیات و متدهای مربوط به عملیات ریاضی ثابت هستند و با استفاده از دستور Math در جاوا اسکریپت به عنوان نوعی شی، بدون ایجاد آن میتوان آنها را فراخوانی کرد. مثالی از این دستور در جاوا اسکریپت به صورت زیر است:
1Math.sqrt(25);
خروجی این مثال که جذر گرفتن از عدد 25 با استفاده از دستور Math است، عدد 5 خواهد بود.
29. دستور Date در جاوا اسکریپت
دستور «Date» بخش مهمی از دستورات جاوا اسکریپت به حساب میآید. در جاوا اسکریپت شی Date به عنوان نوعی دستور برای کار با تاریخ و زمان اجرای عملها مورد استفاده قرار میگیرد. این اشیاء با دستور new Date(); ساخته میشوند. سینتکس این دستور در جاوا اسکریپت به صورت زیر است:
1var a = new Date();
30. دستور Error Object
شی «Error» در جاوا اسکریپت در صورت بروز خطا، پیغام خطا را به کاربر نشان میدهد و یکی از دستورات مهم جاوا اسکریپت به حساب میآید که برای شناسایی و ارائه پیامهای خطا بسیار اهمیت دارد. این دستور زمانی عمل خواهد کرد که خطای زمان اجرا رخ دهد. شی Error همچنین میتواند به عنوان شیئی پایه برای استثناهای تعریف شده توسط کاربر استفاده شود. مثالی از این دستور در جاوا اسکریپت در ادامه آمده است.
1try {
2myalert("Hello");
3}
4catch(err) {
5 document.getElementById("task").innerHTML =
6 err.name + "<br>" + err.message;
7}
در قطعه کد بالا نوعی اخطار از سمت جاوا اسکریپت به کاربر ارسال میشود.
31. دستور ToExponential
از متد «ToExponential« برای تبدیل عددی به شکل نمایی آن استفاده میشود. در واقع این متد به عنوان یکی از دستورات جاوا اسکریپت ، رشتهای را برمیگرداند که شی «Number» را در نماد نمایی نشان میدهد. متد toExponential() با اعداد استفاده میشود و سینتکس آن به صورت زیر است:
1var y = 9.656;
2y.toExponential(2); will return 9.66e+0
32. دستور ToFixed در جاوا اسکریپت
در جاوا اسکریپت، دستور «ToFixed» متدی از شی Number است که برای گرد کردن اعداد و برگرداندن مقدار آن به عنوان رشته استفاده میشود. از آنجا که toFixed() متدی از شی Number است، باید از طریق نمونهای خاص از کلاس Number فراخوانی شود. toFixed()رشتهای را ارسال میکند که شماره آن با تعداد دقیق اعشار آدرسدهی شده است. مثال زیر نحوه عملکرد این دستور جاوا اسکریپت را نشان میدهد.
1var y = 9.656;
2y.toFixed(6); will return 9.656000
33. دستور ToPrecision
یکی دیگر از دستورات جاوا اسکریپت، دستور «ToPrecision» است. متد toPrecision() رشتهای را که نشان دهنده شی Number است به صورت به دقت مشخص شده برمیگرداند. در واقع در جاوا اسکریپت،toPrecision()نوعی متد Number است که برای تبدیل عددی به دقت مشخص (در صورت لزوم گرد کردن نتیجه) و برگرداندن مقدار آن به عنوان رشته استفاده میشود.
از آنجا که toPrecision()متدی از شی Number است، باید از طریق نمونهای خاص از کلاس Number فراخوانی شود. مثالی از این دستور جاوا اسکریپت به صورت زیر است.
1var y = 9.656;
2y.toPrecision(2) will return 9.7
این دستور نیز در محاسبات و کار با ریاضی در جاوا اسکریپت بسیار مهم است.
34. دستور ValueOf در جاوا اسکریپت
جاوا اسکریپت متد «ValueOf» را برای تبدیل یک شی به مقدار اولیه فراخوانی خواهد کرد. کاربر به ندرت نیاز دارد که خودش متد valueOf را فراخوانی کند، زیرا جاوا اسکریپت به طور خودکار آن را هنگام مواجه شدن با شیئی فراخوانی میکند که در آن مقدار اولیه مورد انتظار است. این متد دو پارامتر را خواهد گرفت، در مثال زیر نحوه استفاده از دستور ValueOf آورده شده است.
1var y = 125
2;
3y.valueOf(); will return 125 from variable
4y (123).valueOf(); will returns 125 from literal 125
35. دستور ParseInt
تابع «ParseInt» در جاوا اسکریپت، اولین آرگومان خود را به رشته تبدیل میکند، آن رشته را تجزیه خواهد کرد و سپس عدد صحیح یا NaN را به عنوان خروجی بازمیگرداند. اگر مقدار برگشتی NaN نباشد، مقدار آن عدد صحیحی خواهد بود که در آن اولین آرگومان به عنوان عدد در ریشه مشخص شده است. مثالی از این تابع ParseInt در جاوا اسکریپت به صورت زیر خواهد بود.
1parseInt("20"); will return 20
اگرچه تابع ParseInt کمتر مورد استفاده قرار میگیرد، اما کاربردهای مختص به خودش را دارد و آشنایی با نحوه استفاده از آن بسیار مهم است.
36. دستور Normalize در جاوا اسکریپت
«Normalize» نوعی متد جاوا اسکریپت مبتنی بر مرورگر به حساب میآید. این متد در جاوا اسکریپت گرههای متنی مجاور را در یک گره متن جداگانه ادغام میکند و گرههای متن خالی را حذف خواهد کرد. این متد دارای مقدار بازگشتی است و در اینترنت اکسپلور، این متد گرههای متن خالی را حذف نخواهد کرد.
همچنین شایان ذکر است که از این متد در جاوا اسکریپت برای بازگرداندن فرم عادیسازی «یونیکد» (Unicode) نیز استفاده میشود. این متد مقدار عددی منحصربهفرد ایجاد میکند و یکی از مهمترین دستورات جاوا اسکریپت برای رشتهها است. سینتکس استفاده از این دستور جاوا اسکریپت به صورت زیر خواهد بود:
1string.normalize()
همچنین مثالی از متد Normalize به صورت زیر است:
1var a = "Hello World";
2b= a.normalize('NFC')
37. دستور Slice
arr.slice() نوعی تابع جاوا اسکریپت به حساب میآید و آرایهای جدید را با کار روی آرایه اصلی بازمیگرداند و در آن، آرایه اولیه ثابت میماند. این تابع ۲ پارامتر را میپذیرد و نوعی تابع داخلی در جاوا اسکریپت است. پارامترهای این آرایه اندیس شروع و اندیس پایان عملیات روی آرایه هستند.
میتوان گفت در واقع این تابع، فقط آرایهای را از آرایه اصلی کپی کرده و آرایهای کاملاً جدید ایجاد میکند که در آن آرایه اصلی را تغییر نمیدهد. مثال زیر نحوه استفاده از تابع Slice در جاوا اسکریپت را نشان میدهد.
1var myarr = [20,30,40,50,60,70];
2var my_new_arr = arr.slice();
3print(myarr);
4print(my_new_arr);
خروجی این مثال در استفاده از تابع Slice در جاوا اسکریپت به صورت زیر است:
[20,30,40,50,60,70] [20,30,40,50,60,70]
38. دستور اپسیلون در جاوا اسکریپت
«اپسیلون» (EPSILON) یکی از ویژگیهای ثابت جاوا اسکریپت به حساب میآید که برای بازگرداندن کوچکترین عدد مثبت نزدیک به صفر (یعنی عددی کوچک مثبت) مورد استفاده قرار میگیرد. دستور EPSILON نوعی ویژگی شی عددی است و میتوان آن را از طریق شی Number فراخوانی کرد.
در واقع میتوان گفتNumber.EPSILON تفاوت بین یک و کوچکترین عدد ممیز شناور را در جاوا اسکریپت را بازمیگرداند. سینتکس این دستور به عنوان یکی از دستورات جاوا اسکریپت در این مطلب به صورت زیر است.
1Number.EPSILON;
2
مثالی از متد اپسیلون در جاوا اسکریپت در ادامه آمده است.
1console.log(Number.EPSILON);
2Output: 2.220446049250313e-16
این متد در کاربردهای ریاضی و محاسبات بسیار مفید است و اغلب مورد استفاده قرار میگیرد.
39. دستور ToJSON
«JSON» نوعی نماد اشیا در جاوا اسکریپت به حساب میآید، در واقع JSON مخفف عبارت «JavaScript Object Notation» است و نوعی قالب استاندارد مبتنی بر متن برای نمایش دادههای ساختاریافته بر اساس سینتکس شی جاوا اسکریپت به حساب میآید. زمانی که کاربر از جاوا اسکریپت استفاده میکند و سرور مبتنی بر «Ruby/PHP» است، تابع JSON را میتوان برای تبادل داده استفاده کرد.
دو متد JSON.stringify و JSON.parse برای این هدف وجود دارند. JSON.stringifyبرای تبدیل اشیا به JSON و JSON.parseبرای تبدیل مجدد JSON به شی مورد استفاده قرار میگیرند.
40 دستور ToISOString در جاوا اسکریپت
یکی دیگر از دستورات جاوا اسکریپت در این مطلب، دستور «ToISOString» است. در واقع toISOSstring() تابعی از شی Date در جاوا اسکریپت به حساب میآید و قالب و فرمت «ISO» جامع تاریخ را ارائه میدهد. میتوان گفت تابع toISOSstring()یکی از مهمترین عملکردهای شی داده در جاوا اسکریپت است که مورد استفاده قرار میگیرد. برای استفاده از این تابع لازم است شی Date ایجاد شود.
پس از ایجاد شی داده، تعدادی متد وجود دارد که به کاربران امکان میدهد روی شی ایجاد شده عملیات مختلفی را انجام دهند. بیشتر متدها فقط به کاربران امکان میدهند عناصر مختلف تقویم مانند سال، ماه، روز، ساعت، دقیقه، ثانیه و میلیثانیه را بازیابی کنند. این عوامل را میتوان با استفاده از زمان محلی، «UTC» یا «GMT» به دست آورد. سینتکس این دستور در جاوا اسکریپت به صورت زیر است:
1dateObj.toISOString();
2
مثالی از دستور ToISOString به صورت زیر است:
1document.write("Current Date: "+dateObj.toISOString());
2
41. دستور Proxy
شی «پروکسی» (Proxy) در جاوا اسکریپت یک یا چند شی دیگر را پوشش میدهد و کار این متد این است که متدها را مسدود کند. پروکسیها در بسیاری از کتابخانهها و فریمورکهای جاوا اسکریپت استفاده میشوند. میتوان گفت که پروکسی نوعی شی منحصر به فرد در جاوا اسکریپت به حساب میآید که فقط با یک کنترل کننده خالی، عملیات را به مقصد ارسال میکند. بسیاری از متدهای پروکسی را میتوان به عنوان متدهای داخلی در جاوا اسکریپت داخلی استفاده کرد.
برای مثال «GET» ،«SET» ،«DELETE» و غیره برخی از متدهای داخلی شی پروکسی به حساب میآیند که هنگام وقوع رویدادهای مربوطه، راهاندازی میشوند. مثال زیر نمونهای از پروکسی برای ذخیره دادههای کاربر است.
1const proxyUser = new Proxy(user, handler);
42. دستور Promise در جاوا اسکریپت
«Promise» نوعی شی جاوا اسکریپت خاص به حساب میآید که «کد سازنده» (Building code) و کد «مورد استفاده» (Utilizing Code) در برنامه را به طور جمعی باهم ترکیب میکند. از نظر رابطه: «کد سازنده» هر رویدادی را میپذیرد که برای ارائه نتیجه وعده داده شده نیاز دارد. دستور Promise به عنوان یکی از مهمترین دستورات جاوا اسکریپت آن نتیجه را در صورت در دسترس بودن برای همه کدهای توصیه شده در دسترس قرار میدهد. در واقع متد Promise نوعی وفای به عهد است.
Promise در بسیاری از برنامههای نرمافزاری رویدادمحور استفاده میشود. همچنین Promise برای انجام عملیات ناهمزمان نیز مورد استفاده قرار میگیرد. در ادامه نمونهای از Promise آورده شده است.
1promise
2then(function () {
3console.log('Life is Beautiful');
4})
Promise در برنامه نویسی ناهمگام بسیار حائز اهمیت است و کاربرانی که به این نوع برنامه نویسی در جاوا اسکریپت علاقه دارند، باید به نحوه استفاده از Promise مسلط باشند.
43. دستور Mixins
دستور Mixin نوعی ویژگی جاوا اسکریپت است که در آن صفات بدون استفاده از وراثت در جاوا اسکریپت میتوانند به اشیا اضافه شوند. این متد در جاوا اسکریپت، متدی جایگزین برای طراحی برنامه ارائه میدهد. میتوان گفت که میکسها نوعی ایجاد شی به حساب میآیند که در آن ویژگیهای عنصر در شی ترکیبی ادغام میشوند تا ویژگیهای هر میکس ویژگیهای شی مرکب را نشان دهند.
از آنجا که جاوا اسکریپت از چندوراثتی پشتیبانی نمیکند، در نتیجه ویژگی Mixin برای افزودن ویژگیهای مختلف به اشیا بدون استفاده از وراثت استفاده میشود. مثال زیر نحوه استفاده از Mixin را نشان میدهد.
1let myMixin = {
2sayHello() {
3console.log(`Hi ${this.name}`);
برنامه نویسی Mixin سبکی از توسعه نرمافزار است که در آن واحدهای عملکردی در یک کلاس ایجاد و سپس با کلاسهای دیگر ترکیب میشوند. یک کلاس Mixin به عنوان کلاس والد عمل میکند که شامل عملکرد مورد نظر است.
44. دستور Unescape در جاوا اسکریپت
تابع «Unescape» در جاوا اسکریپت رشته جدیدی را از رشته اولیه محاسبه میکند. در این تابع، «رشتههای فرار هگزادسیمال» (Hexadecimal Escape Strings) با عددی که توصیف میکند، جایگزین رشته اصلی میشود. «رشتههای سری فرار» (Escape Strings) ممکن است با تابعی مانند «Escape» ارائه شوند. معمولاً به جای Unescape از «DecodeURI» یا «DecodeURIcomponent» نیز استفاده میشود.
تابع مربوطه در نسخه 1.5 جاوا اسکریپت معرفی شد و بیشتر برای رمزگشایی رشته کدگذاری شده مورد استفاده قرار میگیرد. در واقع تابع Escape برای ایجاد رشته قابلحمل برای ارسال آن با استفاده از شبکه استفاده میشود و در عوض، کاربران میتوانند از تابع unscape() برای رمزگشایی رشته اصلی استفاده کنند.
تابع Unescape در جاوا اسکریپت برای جلوگیری از حمله «Cross-Site Scripting (XSS)» مفید است. ویژگی Unescape هماکنون از استانداردهای وب حذف شده است، اما برخی از مرورگرها هنوز از این عملکردها پشتیبانی میکنند. مثالی از Unescape در دستورات جاوا اسکریپت این مطلب به صورت زیر است:
1unescape('xyz123');
45. دستور ایجاد آرایه ای از اعداد
یکی دیگر از دستورات جاوا اسکریپت در این مطلب، دستور ایجاد آرایهای از اعداد است. برای ایجاد آرایه در جاوا اسکریپت میتوان از اسکریپتی استفاده کرد که در ادامه بیان خواهد شد. آرایه در برنامه نویسی گروهی از اشیاء به حساب میآید که در مکانهای مجاور حافظه جمعآوری شدهاند.
برای مثال اسکریپت زیر برای تولید آرایه با اعداد از 0 تا 500 استفاده میشود.
1var numbersArray = [] , max = 500;
2for( var a=1; numbersArray.push(i++) < max;); // numbers = [1,2,3 ... 500]
46. دستور Verify در جاوا اسکریپت
«Verify» یکی از پرکاربردترین دستورات جاوا اسکریپت است. این دستور در جاوا اسکریپت برای تأید اینکه آیا آرگومان داده شده یا درج شده یک عدد است یا خیر مورد استفاده قرار میگیرد. برای مثال اسکریپت زیر برای تائید آرگومان داده شده استفاده میشود.
1function isNum(a){
2return !isNaN(parseFloat(a)) && isFinite(a);
3}
47. دستور ساخت کوکی در جاوا اسکریپت
سادهترین رویکرد برای ساخت کوکی در جاوا اسکریپت، انتخاب مقداری رشتهای برای شی document.cookie است. اسکریپت زیر نحوه تولید کوکی در جاوا اسکریپت را نشان میدهد.
1document.cookie = “key1 = value1; key2 = value2; expires = date”;
2
در اینجا ویژگیexpires نوعی جایگزین به حساب میآید. اگر کاربران این ویژگی را با تاریخ یا زمان معینی بدهند، کوکی در تاریخ یا زمان معین خاتمه یافته و پس از آن، محتوای کوکیها در دسترس نخواهد بود.
48. دستور Autocorrection
«تصحیح خودکار» (Autocorrection) یکی از ویژگیهای بسیار مفید شی Date در جاوا اسکریپت است. با استفاده از دستور Autocorrection در جاوا اسکریپت، کاربران قادر به پیکربندی طیف وسیعی از مقادیر هستند که این مقادیر قابلیت تنظیم خودکار را نیز دارند. برای مثال، اگر کاربری بخواهد تاریخ «28 آگوست 2022» را 2 روز افزایش دهد.
تاریخ 20 آگوست خواهد شد و فقط باید دو روز به آن اضافه شود که در این صورت، شی Date آن را به درستی اجرا میکند. این تابع اغلب برای دریافت تاریخ پس از دوره اختصاص داده شده اعمال میشود. مثالی برای استفاده از این ویژگی به صورت زیر است:
1let date = new Date(2022, 8, 28);
2date.setDate(date.getDate() + 2);
49. دستور Shift در جاوا اسکریپت
یکی دیگر از دستورات جاوا اسکریپت، دستور «Shift» است. متد shift() در جاوا اسکریپت، عنصر را در اندیس صفر حذف میکند و مقادیر اندیسهای متوالی را به پایین منتقل میکند، سپس مقدار حذف شده را بازمیگرداند. همچنین اگر ویژگی طول آرایه 0 باشد، مقدار «تعریف نشده» (Undefined) را بازخواهد گرداند.
50. دستور Bonus query – NEGATIVE_INFINITY
آخرین دستور از دستورات جاوا اسکریپت این مطلب، دستور «NEGATIVE_INFINITY» است. NEGATIVE_INFINITY مقدار عددی ویژه در جاوا اسکریپت به حساب میآید. این ویژگی زمانی قابل نمایان شدن است که عملیات حسابی یا تابع ریاضی یک مقدار منفی را بازگرداند که این مقدار منفی بزرگتر از بزرگترین عدد قابل نمایش در جاوا اسکریپت (یعنی کوچکتر از Number. MAX_VALUE-) باشد.
جاوا اسکریپت مقدار NEGATIVE_INFINITY را به صورت منفی بینهایت نمایش میدهد. این رقم نشان میدهد که هیچ رقم دیگری کمتر از این عدد نیست. سینتکس زیر نحوه استفاده از آن را نشان میدهد.
1var y = Number.NEGATIVE_INFINITY;
سؤالات متداول پیرامون دستورهای JavaScript
در ادامه ٣ سؤال متداول در رابطه با دستورات جاوا اسکریپت پاسخ داده شده است.
کاربرد دستورات جاوا اسکریپت چیست؟
کد جاوا اسکریپت دستورالعملهایی را به مرورگر وب میدهد. دستورات جاوا اسکریپت معمولاً کد جاوا اسکریپت نامیده میشوند. هر دستور باید با نقطهویرگول به پایان برسد و این کمک میکند کد کاربر برای کاربرهای دیگر و همچنین مرورگر خواناتر باشد.
نحوه ایجاد یک دستور سفارشی در جاوا اسکریپت چگونه است؟
برای ساخت دستور سفارشی در جاوا اسکریپت کافی است که کاربر دستور را راهاندازی کرده و آن را در مدیریت دستورات جاوا اسکریپت ثبت کند. سپس کاربر توانایی استفاده از دستور سفارشی خود را خواهد داشت.
آیا در نوشتن دستورات جاوا اسکریپت از کلمه کیدی استفاده میشود؟
بله، کلمات کلیدی یکی از اجزای اصلی دستورات جاوا اسکریپت بهحساب میآیند.
سخن پایانی
دستورات جاوا اسکریپت کاربردهای مختص به خودشان را دارند و برای اهداف مختلفی به منظور تسریع روند توسعه و کدنویسی موارد استفاده قرار میگیرند. در این مطلب آموزشی از مجله فرادرس 50 تا از پراستفادهترین دستورات جاوا اسکریپت مورد بررسی قرار گرفتند و نحوه کار آنها نیز توضیح داده شد. امید است که این مطلب برای کاربران مفید واقع شود.