درود دوستان. توی این قسمت می‌خوایم با متغیرها آشنا بشیم و بررسی می‌کنیم که چه کاربردهایی دارن، چطوری و با چه قوانینی تعریف میشن.

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

 

متغیر چیه؟ 🤔

متغیر یا Variable یک محفظه هست برای نگهداری اطلاعات. ما توی هر برنامه‌ای نیاز داریم تا یک سری اطلاعات رو نگهداری کنیم و بعد کارهایی روی اونها انجام بدیم. ما برای نگهداری این اطلاعات باید محفظه‌ای بسازیم. به این محفظه و مکان نگهداری اطلاعات می‌گیم متغیر.

 

چطوری متغیر تعریف کنیم؟

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

let message;

اینجا یک متغیر (محفظه) ساختیم به اسم message. ما گفتیم که متغیرها برای نگهداری اطلاعات و مقادیر استفاده می‌شن. اما این متغیر هنوز هیچ مقداری نداره و صرفاً یک محفظه خالی هست. برای مقدار دادن به یک متغیر از روش خط ۲ زیر استفاده می‌کنیم:

let message;
>> message = "Learning JS!";

الان متغیر message توی حافظه ذخیره شده که مقدار اون "Learning JS!" هست.

توی کد بالا ابتدا متغیر رو ساختیم و توی خط بعد به اون مقدار دادیم. می‌تونیم کارِ "ساختن متغیر و مقدار دادن به اون" رو به صورت یکجا انجام بدیم:

let message = "Learning JS!";

 

چطوری از متغیر استفاده کنیم؟

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

let message = "Welcome! ✌️";

alert(<<message>>);

برای دیدن خروجی روی دکمه ► کلیک کنین.

مثال ۲:

let x = 2;
let y = 5;

alert(x + y);

توی این کد ابتدا دو متغیر به اسم‌های x و y و با مقدارهای 2 و 5 ساختیم. توی خط بعد اونها رو با هم جمع کردیم. اگه روی دکمه ► کلیک کنیم، عدد 7 رو خواهیم دید. توی این کد ما با علامت + یک عملیات ریاضی انجام دادیم و مقدارهای متغیرها رو با هم جمع کردیم. توی قسمت‌های بعدی با عملیات ریاضی بیشتر آشنا می‌شیم.

 

چطوری مقدار متغیرها رو تغییر بدیم؟

ما می‌تونیم مقدار متغیرهایی که با let تعریف میشن رو تغییر بدیم. برای مثال:

let x = 10;
>> x = 20;

alert(x);

توی این کد ما ابتدا متغیر x رو تعریف کردیم و به اون مقدار 10 دادیم. توی خط بعد مقدار این متغیر رو عوض کردیم و بهش مقدار 20 رو دادیم. اینجا متغیر x مقدار اولیه خودش رو از دست میده و مقدار جدید برای اون در نظر گرفته میشه.

دقت کنیم که هنگام مقدار دادن به متغیر x که با let تعریف شده، ما نباید دوباره از کلمه‌کلیدی let استفاده کنیم که در این صورت خطا می‌گیریم:

let x = 10;
let x = 20; // Error: redeclaration of let x

پس با توجه به این کد، باید یادمون باشه که یک متغیر که از قبل تعریف شده رو نمی‌تونیم دوباره با let تعریف کنیم.

 

نوع مقدار متغیرها

ما توی قسمت‌های بعد درباره نوع داده‌ای بیشتر آشنا می‌شیم. اما نکته‌ای که توی این قسمت بهتره بدونیم اینه که ما توی متغیرهامون می‌تونیم مقدارهای مختلفی رو ذخیره کنیم:

let a = 10;
let b = "Hello";
let c = true;
let d = {};

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

 

کانستَنت ها

کانستنت یا Constant نوعی از متغیر هست که وقتی تعریف و مقداردهی بشه، دیگه مقدار اون قابل تغییر نیست. برای همین به اونها گفته میشه کانستنت (ثابت).

کانستنت‌ها با کلمه‌کلیدی const مثل کد زیر تعریف میشن:

const name = "Mario";

الان متغیر name درست مثل متغیرهایی که با let تعریف می‌کردیم قابل استفاده هست:

const name = "Mario";

alert(name);

متغیرهای let با const دو تفاوت دارن:

۱. نمی‌تونیم مقدار اونها رو عوض کنیم:

const name = "Mario";
name = "Emily"; // Error: Assignment to constant variable

۲. همیشه باید با یک مقدار پیاده‌سازی بشن (متغیرهای let می‌تونن بدون مقدار پیاده‌سازی بشن):

>> const name; // Error Missing initializer in const declaration

let x; // ok

 

علاوه بر روش‌های let و const، یک روش سنتی وجود داره برای تعریف متغیر که استفاده از var هست:

var name = "Mario";

استفاده از var مشکلاتی که توی برنامه ایجاد می‌کرد و برای همین بعدها let و const معرفی شدن. پس بهتره که فقط از let و const برای تعریف کردن متغیرها توی برنامه استفاده کنیم.

ما بهتره که const رو به let به دلیل اینکه مقدار اون قابل تغییر نیست، ترجیح بدیم. چون خطاهای ناخواسته برنامه رو کمتر می‌کنیم. مگر این که مطمئن هستیم مقدار متغیرهای ما قراره توی ادامه برنامه تغییر کنه.

 

قوانین نام‌گذاری متغیرها

همونطور که برای نام‌گذاری هر چیزی توی دنیا قواعد و قوانینی وجود داره، ما برای اسم‌گذاری متغیرهامون هم باید یک سری قواعد و قوانین رو رعایت کنیم.

۱. اسم متغیرها نباید با عدد شروع بشن:

let 1x = "Hello"; // Error

اولین کارکتر متغیرها می‌تونن حروف لاتین، علامت‌های _ و $ باشن. از اعداد می‌تونیم توی کارکترهای اول به بعد استفاده کنیم:

let x1 = "Hello"; // ok

۲. از کلمه‌های کلیدی رزور شده نمی‌تونیم توی نام‌گذاری متغیرها استفاده کنیم:

let while = 10; // Error

۳. متغیرها نسبت به حروف بزرگ و کوچیک حساس هستن:

let name = "Mario";
let Name = "Emily";

alert(name);
alert(Name);

۴. نمی‌تونیم از فاصله (Space) توی اسم متغیرها استفاده کنیم:

let first name = "Mario"; // Error

ما اینجا می‌خواستیم یک متغیر به اسم first name بسازیم. اما به دلیل وجود فاصله، این کار شدنی نیست. چون اسم متغیرها باید به هم پیوسته باشن. برای این کار ما می‌تونیم از روش‌های زیر استفاده کنیم:

let firstname = "Mario";
let firstName = "Mario";
let first_name = "Mario";

توی خط ۲ ما از روش نام‌گذاری camelCase استفاده کردیم که توی اون، حرف اول کلمه‌ها (به غیر از اولین کلمه) با حروف بزرگ شروع میشن. توی خط ۳ از روش نام‌گذاری با کارکتر _ (Underscore) استفاده کردیم که به این روش به اصطلاح گفته میشه snake_case.

بهتره که ما از یک روش نام‌گذاری توی سرتاسر برنامه استفاده کنیم.

 

خب دوستان توی این قسمت با متغیرها که نقش اساسی توی یک برنامه ایفا می‌کنن آشنا شدیم که توی قسمت‌های بعد به کارمون میان. روزتون خوش 😉✌️

https://www.dummies.com/web-design-development/javascript/naming-javascript-variables/

https://javascript.info/variables

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Variables