درود دوستان! توی این قسمت می‌خوایم با ساختار کلی زبان جاوااسکریپت و با مفاهیمی آشنا بشیم که توی ادامه به کار ما میان.

توی این قسمت موارد زیر رو بررسی می‌کنیم:

 

نکته برای تازه‌کارها

توی این قسمت برای آشنایی با ساختار جاوااسکریپت، با نمونه کدها و اصطلاحاتی مثل متغیر و تابع مواجه می‌شین. توی این قسمت لازم به یادگیری و حساس بودن نسبت به این موارد نیست. چون اونها رو توی قسمت‌های بعدی مفصل بررسی کردیم 💯

 

سمی‌کالِن (Semicolon) یا نقطه‌ویرگول چیه؟ 🤔

به این کارکتر ; گفته میشه سِمی‌کالن یا نقطه‌ویرگول که روی کیبرد، دکمهٔ بعد از حرف L هست. ما از سِمی‌کالن برای جدا کردن دستورات جاوااسکریپت استفاده می‌کنیم. کد زیر رو ببینید:

let name = "Mario";
let age  = 26;
alert("Hello!");

توی این کد هر ۳ دستور توسط یک سِمی‌کالن جدا شدن و با Enter به خط بعدی رفتن. ما نباید هر جایی از سمی‌کالن استفاده کنیم! منتظر قسمت‌های بعدی باشین.

استفاده از سِمی‌کالن توی جاوااسکریپت اختیاری هست. یعنی می‌تونیم کد بالا رو به این صورت و بدون سِمی‌کالن بنویسیم:

let name = "Mario"
let age  = 26
alert("Hello!")

اما معمولاً منابع و استانداردها پیشنهاد می‌کنن که عادت کنیم همیشه از سِمی‌کالن استفاده کنیم.

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

let name = "Mario"; let age = 26; alert("Hello!");

ما توی این توضیحات از کلمهٔ دستور استفاده کردیم. کلمه صحیح‌تر، Statement هست.

 

استِیتمنت (Statement) یعنی چی؟ 🤔

استیتمنت همون دستوراتی هست که ما توی برنامه می‌نویسیم تا کارهای به خصوصی رو انجام بدن. به عبارت دیگه، استیتمنت به قسمت‌هایی از کد گفته میشه که به جاوااسکریپت دستور میده که چه کاری انجام بده. برای مثال توی کد زیر ۳ تا استیتمنت داریم:

alert("Hi");
let name = "Emily";

function hello() {
  // ...
}

 

کامنت (Comment) چیه؟ 🤔

کامنت، نوشته‌ای هست که ما به کد اضافه می‌کنیم تا توضیح بدیم این قسمت از کد چه کاری داره انجام میده:

// This is counter variable.
// counter is used to store the number of user clicks
let counter = 0;

اینجا توی خط اول و دوم ۲ کامنت گذاشتیم تا توضیحاتی برای متغیر counter نوشته باشیم. کامنت‌ها هیچ تاثیری روی روند اجرای برنامه ندارن و هنگام اجرای کد به طور کلی نادیده گرفته میشن. ما از اونها فقط زمانی استفاده می‌کنیم که می‌خوایم برای برنامه‌نویس‌هایی که کدهای ما رو می‌خونن توضیح بیشتری بدیم.

ما به ۲ روش می‌تونیم کامنت بنویسیم. کامنت‌های تک‌خطی و کامنت‌های چندخطی.

 

کامنت‌های تک‌خطی

کامنت‌های تک‌خطی که از اونها برای نوشتن توضیحات توی یک خط استفاده می‌کنیم با علامت // شروع میشن. هر چیزی که جلوی علامت // بنویسیم به عنوان کامنت درنظر گرفته میشه:

// This is a single-line comment

 

کامنت‌های چندخطی

کامنت‌های چندخطی برای نوشتن توضیحات توی چند خط استفاده میشه.
این کامنت‌ها با علامت /* شروع و با علامت */ تموم میشن. هر چیزی که بین این علامت‌ها بنویسیم به عنوان کامنت درنظر گرفته میشه:

/*
  This
  is
  a
  multi-line
  comment
*/

let x = 12;

توی این کد ما از خط ۱ تا ۷ کامنت چند خطی درست کردیم.

 

جاوااسکریپت چه کلمه‌های کلیدی رزرو شده‌ای داره؟

هر زبانی یک سری کلمه‌های کلیدی داره که ما از اون‌ها نباید توی نام‌گذاری متغیرها و توابع استفاده کنیم. برای مثال یکی از کلمه‌های کلیدی for هست. ما اجازه نداریم از این کلمه برای اسم متغیرها و توابع استفاده کنیم و با این کار خطا می‌گیریم:

let for = "Hello!"; // Error

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

  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • export
  • extends
  • finally
  • for
  • function
  • if
  • import
  • in
  • instanceof
  • new
  • return
  • super
  • switch
  • this
  • throw
  • try
  • typeof
  • var
  • void
  • while
  • with
  • yield

 

آیا جاوااسکریپت نسبت به حروف بزرگ و کوچیک حساسه؟ 🤔

بله! یعنی برای مثال ما نمی‌تونیم تابع alert رو به صورت Alert بنویسیم و با این کار خطا می‌گیریم که تابعی به اسم Alert تعریف نشده:

alert("Hello"); // works

Alert("Hello"); // ReferenceError: Alert is not defined

 

خب دوستان، ویژگی‌ها و ساختار کلی زبان جاوااسکریپت رو بررسی کردیم. توی این قسمت می‌خواستیم با اصطلاحات و تکنیک‌هایی آشنا بشیم که کاربرد اونها توی قسمت‌های بعدی بیشتر مشخص میشه. پس اگه درک موضوعی راحت نبود، نگران نباشید و به خوندن ادامه بدین. توی قسمت‌های بعد می‌ریم که با جزییات بیشتری از این زبان آشنا بشیم 😉✌️

https://www.codecademy.com/resources/blog/your-guide-to-semicolons-in-javascript

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar

https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics

https://javascript.info/structure