از متغیرها برای ذخیره سازی مقادیر درون خود با هر نوع داده ای استفاده می شود.در جاوااسکریپت ۳ روش برای تعریف متغیر وجود دارد.
در جاوااسکریپت ۳ روش برای تعریف متغیر وجود دارد.
- استفاده از var
- استفاده از let
- استفاده از const
متغیر یا variable چیست؟
از متغیرها برای ذخیره سازی مقادیر درون خود با هر نوع داده ای استفاده می شود.
در زیر متغیرهایی به نام x,y,z را داریم که هر سه دارای مقدار هستند.متغیر x دارای مقدار ۵ متغیر y دارای مقدار ۶ و z دارای مقدار ۱۱ است.
مثال:
1 2 3 4 |
var x = 5; var y = 6; var z = x + y; //11 |
متغیرها علاوه بر نگه داشتن یک مقدار درون خود می توانند در محاسبات ریاضی به کار روند و یا خود نگه دارنده محاسبات یک عملیات ریاضی باشند.
مثال:
1 2 3 4 |
var price1 = 5; var price2 = 6; var total = price1 + price2; //11 |
شناسه ها یا Identifiers در جاوااسکریپت
تمامی متغیرها در جاوااسکریپت دارای شناسه ای به اسم نام هستند تا از سایر متغیرها متمایز شناخته شوند.در اصل وجه تفاوت دو متغیر توسط نام آنها صورت می گیرد.
به این نام ها که باید یکتا یا یونیک باشند Identifiers گفته می شود.
نام ها می توانند کوتاه باشند مانند x,y یا یک نام توصیفی باشد مانند name,age
قوانین مهم و اصلی در تعریف نام متغیرها عبارتند از:
- نام شناسه ها می تواند دارای حروف،عدد، علامت $ و _ باشد.
- نام شناسه باید با حرف شروع شود.
- نام شناسه می تواند با _ یا $ شروع شود اما پیشنهاد نمیشود.
- نوع حروف یعنی کوچکی و بزرگی آن مهم است.
- از کلمات کلیدی مانند for که برای خود جاوااسکریپت است و رزرو شده است نمی توان استفاده کرد.
عملگر تخصیص یا assignment در متغیرها
در ریاضی علامت مساوی بیانگر این است که ما قرار است یک نتیجه را نمایش دهیم.اما در جاوااسکریپت بیانگر این است که یک متغیر دارای یک مقدار است.
در ریاضی حاصل جمع دو عدد برابر با ۱۱ می شود.
در جاوااسکریپت حاصل جمع x و ۵ به x تخصیص داده شده است:
1 |
x = x + 5 |
در دستورات شرطی برای بررسی برابر بودن دو مقدار از علامت == استفاده میشود. این روش در جلسات بعدی توضیح داده میشود.
نوع داده ها در جاوااسکریپت
متغیرها که حاوی مقدار هستند،مقادیر میتوانند دارای نوع های مختلفی باشند. منظور از نوع، نوع داده است.
هر مقدار دارای نوعی است که بیانگر و توصیفگر آن میباشد. برای مثال ۱۰۰ نوعش عدد است و زمانی که یک متغیر را برابر با ۱۰۰ قرار میدهیم نوعش عدد میباشد. اگر همان متغیر را برابر با یک متن قرار دهیم نوعش رشته یا string است.
مثال:
1 2 3 4 5 6 7 |
var x; x = 100; //Data type is number var y; y = "amir javanmir" //Data type is string |
همانطور که گفته شد نوع داده زیاد است اما من در اینجا تنها رشته و عدد را توضیح میدهم. مابقی نوع داده در جلسات بعدی توضیح خواهم داد.
رشته مجموعه کاراکتر متنی است که میتواند درون جفت یا تک کوتیشن نوشته شود.
مثال:
1 2 3 |
var pi = 3.14; var person = "amir javanmir" var answer = 'Yes I am!'; |
کوتیشن چیست؟
به علامت ‘ و ” که بر روی کیبورد قرار دارد کوتیشن گفته میشود. رشته ها باید درون یکی از این علامت ها قرار بگیرد. زمان استفاده از هر یک بسته به مکانی است که قرار است استفاده شود.
نحوه تعریف متغیر
به ایجاد متغیر در جاوااسکریپت declareing گفته میشود.
برای تعریف متغیر از کلمه کلیدی var یا let یا const استفاده می کنیم.
مثال:
1 2 |
var carName; let carName; |
همانطور که در مثال بالا مشاهده می کنید متغیر شما مقداری ندارد.از لحاظ فنی مقدار آن undefined است.مقدار undefined یکی از همان نوع داده هایی است که یک متغیر می تواند داشته باشد.
برای تخصیص یک مقدار به متغیر تعریف شده باید از علامت = استفاده کنیم.
مثال:
1 |
carName = "Volvo" |
تخصیص مقدار به متغیر بسته به کاربرد آن می تواند هم در هنگام تعریف متغیر باشد هم بعد از تعریف متغیر.
1 |
let carName = "Volvo" |
در مثال زیر متغیر خود را تعریف کرده و مقداردهی کرده ایم سپس آن را در داخل تگ مورد نظر نمایش داده ایم.
مثال:
برنامه نویسان حرفه ای در ابتدای اسکریپت خود تمامی متغیرهای مورد نیاز خود را تعریف میکنند.
یک دستور و چندین متغیر در یک خط
شما میتوانید در یک دستور چندین متغیر را تعریف کنید. در این روش در ابتدا یک کلمه کلیدی مانند var را قرار داده و متغیرهای خود را با یک , از هم جدا و قرار می دهیم. این نوع تعریف هم متغیر میتواند مقدار داشته باشد یا بعداً مقدارش اضافه شود.
مثال:
1 |
var person = "John Doe", carName = "Volvo", price; |
تعریف متغیر می تواند در یک دستور و در چندین خط باشد.
مثال:
1 2 3 |
var person = "John Doe", carName = "Volvo", price = 200; |
مقدار شما میتواند undefined باشد
در برنامه های کامپیوتری متغیرها معمولا بدون مقدار تعریف می شوند.در صورت مقداردهی ممکن است از این مقدار در محاسبه عملیاتی استفاده شود و در صورت عدم مقداردهی ممکن است متغیر بعدا تکمیل شود مانند زمانی که مقدار متغیر از طریق یک input توسط کاربر پر شود.
متغیری که مقدار نداشته باشد مقدارش و نوعش undefined است.
مثال:
1 |
var carName; |
باز تعریف کردن متغیرها
در صورتی که یک متغیر که تعریف و مقداردهی شده است را باز تعریف کنیم مقدارش را از دست نمی دهد.
1 2 |
var carName = "Volvo" var carName; |
محاسبات ریاضی در جاوااسکریپت
همانند ریاضیات شما می توانید با عملگرهای + یا = عملیات ریاضی را با متغیرها انجام دهید.
مثال:
1 |
var x = 5 + 2 + 3; |
متغیرها همچنین می توانند حاوی رشته هایی باشند که با استفاده از عملگر + بهم متصل شده اند. در جاوااسکریپت برای چسباندن دو رشته از عملگر جمع استفاده می شود.
مثال:
1 |
var x = "John" + " " + "Doe" |
همچنین متغیر می تواند حاوی مقداری باشد که ترکیبی از رشته و عدد است.نکته ای که وجود دارد این است که در صورتی که رشته در ابتدا باشد خواه عدد یا متن با انجام عملیات جمع به اعداد دیگر میچسبد و مانع از عملیات ریاضی می شود.
مثال:
1 2 |
var x = "5" + 2 + 3; //523 |
حال اگر اعداد در ابتدا و رشته در انتها باشد ابتدا محاسبات ریاضی انجام شده سپس عملیات الحاق انجام می شود.
مثال:
1 2 |
var x = 2 + 3 + "5" //55 |
علامت دلار $ در جاوااسکریپت
همانطور که قبلا گفته شد نام متغیر می تواند حاوی کاراکتر $ باشد و هرجای نام می تواند قرار بگیرد و چون یک کاراکتر متنی است مشکلی وجود ندارد.
مثال:
1 2 3 |
var $$$ = "amir javanmir" var $ = 2; var $myMoney = 5; |
استفاده از این کاراکتر در نام گذاری متغیر مرسوم نیست اما برنامه نویسان حرفه ای از این علامت در توابع اصلی خود در یک کتابخانه جاوااسکریپت استفاده میکنند. برای مثال در کتابخانه جیکوئری از علامت $ برای انتخاب المنت استفاده می شود برای مثال (“p”)$ برای انتخاب تمامی تگ های p استفاده می شود.
_ خط زیرین
کاراکتر _ بعنوان در جاوااسکریپت بعنوان حرف شناخته می شود.بنابراین قرار گرفتن آن در نام متغیر قانونی است.
استفاده از _ در نام متغیر زیاد مرسوم نیست بنابراین برنامه نویسان حرفه ای از این کاراکتر در متغیرهای پنهانی یا hidden استفاده می شود.
1 2 3 |
var _lastName = "amir"; var _x = 2; var _100 = 5; |
محدوده متغیرها در js
برای اجرای حالت سختگیرانه بر روی متغیرهایی که ابتدا استفاده و سپس تعریف میشوند میتوان از دستور use strict استفاده کرد. این دستور را در ابتدای اسکریپت خود و درون کوتیشن مینویسیم.
مثال:
1 2 3 4 5 6 |
"use strict" x = 50; var x; console.log(x); //x not defined |