ساختار کد در جاوا اسکریپت

ساختار کد

اولین چیزی که مطالعه میکنیم بلوک های ساختاری کدهاست.

Statements

ساختار های syntax  و دستوراتی هستند که یک عمل رو انجام میدهند.

ما قبلا دیدیم که دستور alert رو برای نمایش پیام میتونیم استفاده کنیم.

ما میتونیم دستورات زیادی که میخواهیم رو توی کدهامون داشته باشیم. دستورات رو میتونیم با ; از هم جدا کنیم.

برای مثال hello world رو توی دوتا alert جدا مینویسیم:

معمولا برای خوانایی بیشتر کد ها دستورات رو در خط های جداگانه مینویسیم:

در جاوا اسکریپت ممکن هست که ; حذف بشه که در اکثر موارد وقتی هست که ادامه کد ها در خط بعدی نوشته شده است.

بنابر این نمونه کد بالا رو میتوانیم به صورت زیر هم بنویسیم:

جاوا اسکریپت رفتن به خط جدید رو به عنوان ; تفسیر میکنه. که ورود خودکار ; نامیده مبشه.

در اکثر موراد خط جدید به ; دلالت داره اما در بحضی مواقع مثل نمونه زیر این معنی رو نمیده:

خروجی کد بالا به دلیل اینکه ; رو قرار نمیده  ۶ هست.

به صورت بصری آشکار است که خط با + به پایان میرسد پس این یک قاعده ناتمام هست و نیازی به ; ندارد تو این مورد هم کار میکنه.

اما شرایطی وجود دارد که جاوا اسکریپت نمیتونه ; رو قرار بده و واقعا نیاز هست.

خطاهای  که رخ داده :


یک مثال از یک خطا

اگه شما کنجکاو هستید که این مثال واقعی رو به عنوان خطا ببینید ابتدا خروجی کد زیر رو ببینید :

لازم نیست که شما در مورد براکت ها [] و forEach چیزی بدونید. بعدا مطالعه میکنیم.

فعلا فقط به یاد داشته باشید که خروجی کد نمایش ۱ و ۲ هست.

 

حالا بیایید alert بدون سیمیکالن رو قبل از کد بالا اضافه کنیم:

حالا اگر اجرا کنیم کد رو فقط اولین alert اجرا میشه و بعدش خطا داریم!

 

اما اگه یک سیمیکالن ;  در انتهای alert اول اضافه کنیم همه چی درست میشه:

الان دیگه ما هم All fine now و ۱ و ۲ رو میتونیم مشاهده کنیم.

این خطا به دلیل اینکه قبل از براکت ها سیمیکالن رو قرار نداده بود رخ داد.

 

بنابر این ، چون سیمیکالن به صورت اتوماتیک وارد نشده است کد در نمونه اول به عنوان یک دستور رفتار میکند.

موتور جاوا اسکریپت اون رو مثل کد زیر میبینه:

باید دوتا دستور جداگانه باشه نه یکی.

بنابر این در این موارد چنین ادغامی اشتباه است و میتونه در شرایط دیگری هم اتفاق بیافته.


ما توصیه کردیم سیمیکالن رو بین دستوراتی که حتی اگر جدا شده باشند با خط جدید قرار بدید.

این قانون برای عموم تصویب شده است.

یاداشت :

این امکان وجود دارد که بیشتر اوقات سیمیکالن رو حذف کنیم اما بهتر است اون رو استفاده کنیم به برای خصوص افراد مبتدی.

 

کامنت ها

هر چقدر که زمان میگذره برنامه ها پیچیده تر میشن پس نیاز هست که توضیحاتی در مورد اینکه کد چیکار میکنه رو اضافه کنید.

کامنت ها میتونن در هر جای از اسکریپت قرار بگیرند اونها هیچ تاثیری بر روی اجرا نمیگذارند زیرا موتور جاوا اسکریپت کامنت ها رو نادیده میگیره.

کامنت های یک خطی با دوتا // شروع میشن.

متن ادامه خط یک کامنت هست این نوع کامنت ممکن است یک خط کامل رو تصرف میکنه.

نمونه :

کامنت های چند خطی با اسلش و یک ستاره /* شروع میشوند و با ستاره و اسلش */ به ترتیب تمام میشوند.

نمونه :

محتوای این کامنت نادیده گرفته میشود. هر کدی که در داخل /* … */,باشد اجرا نمی شود.

بعضی مواقع به صورت موقع میتونیم دستی قسمتی از کد رو غیر فعال کرد:


 

استفاده از کلید های میانبر

در اغلب ویرایشگر های برای کامنت کردن یک خط از کلید میانبر Ctrlو / استفاده میکنیم و برای چند خطی پس از انتخاب قسمتی از کد کلید Ctrl و Shift و / رو فشار میدیم.

توی مک از Cmd بجای Ctrl اسفتفاده میکنیم

در ویرایشگر ٰVisual Studio برای کامنت کردن یک خط از Ctrl+k+C و برای حذف کامنت از Ctrl +k+u , برای چند خطی هم همین کار البته باید اون قسمت از کد رو انتخاب کرده باشید.


 

کامنت های تو در تو پشتیبانی نشده است!

امکان نداره بتونید داخل /*…*/ یک /*…*/ دیگری بنویسید.

چنین کدی ایراد داره:

لطفا از نوشتن کامنت ها در کدهاتون دریغ نکنید.

نظرات باعث میشند که رد پای کد مشخص باشه. اما از این یک مشکل نیست ابزار های زیادی وجود دارند که کد شما رو قبل از publish کردن minify میکنند.

کامنت ها و debugger ها رو حذف میکنند و دیگه در اسکریپ های خروجی اونها رو نمیبینید.

از این رو کامنت ها هیچ تاثیر منفی بر تولید ندارند.

بعدا در فصل کیفیت کد آموزش میدیم که چجوری کامنت های بهتری بنویسیم.

 

منبع : javascript.info

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *