متغیرها در جاوا اسکریپت
خوش اومدین به هفتمین جلسه از دوره آموزش جاوا اسکریپت. توی این جلسه قراره با موضوع مهم متغیرها در جاوا اسکریپت آشنا بشیم. متغیرها نقش مهمی توی نوشتن کدهای ما دارند. به طور کلی توی زبانهای برنامه نویسی خیلی زیاد از متغیرها استفاده میشه و جاوا اسکریپت هم از این قاعده مستثنی نیست. پس با من همراه باشید توی این بخش تا این موضوع رو بخوبی یاد بگیریم.
همونطور که در جلسات قبلی هم گفتم، متغیر قسمتی از حافظه هست که برای ذخیره دادهها ازش استفاده میشه. ما برای یه متغیر (همون فضای حافظه) اسمی قرار میدیم که بتونیم بهش دسترسی داشته باشیم.
ما توی این جلسه در مورد موضوعات مختلفی صحبت میکنیم از جمله:
- شناسه ها در جاوا اسکریپت
- انواع داده در جاوا اسکریپت
- تعریف متغیرها در جاوا اسکریپت
- تعریف مجدد متغیرهای جاوا اسکریپت
توی مثال زیر ما سه متغیر x , y و z رو داریم:
var x = 5;
var y = 6;
var z = x + y;
در مثال بالا اعمال زیر رو انجام دادم:
متغیری به نام x تعریف کردم که مقدار ۵ رو داخل اون ذخیره کردم.
در خط بعدی متغیری به نام y تعریف کردم که مقدار ۶ رو داخل اون ذخیره کردم.
در خط بعدی متغیری به نام z تعریف کردم که مجموع متغیرهای x و y رو توی اون ذخیره کردم. در واقع مقدار z برابر است با ۱۱.
شناسه ها در جاوا اسکریپت
همه متغیرها توی جاوا اسکریپت باید اسم های منحصربه فرد داشته باشند. این اسم های منحصر بفرد رو بهشون میگیم شناسه Identifire.
برای شناسه ها قوانینی داریم که رعایت اونها اجباری هست و جزء سینتکس جاوا اسکریپت هست
شناسه ها میتونن شامل حروف، اعداد، آندرسکور ـ و علامت دلار$ باشن.
اولین کاراکتر شناسه نمیتونه عدد باشه ولی حروف، آندرسکور و $ مجاز هست.
جاوا اسکریپت به بزرگی و کوچکی حروف حساس هست. این قانون در نامگذاری شناسه اثرگذاره.
از کلمات رزرو شده مثل کلمات کلیدی نمیتونیم به عنوان اسم متغیر و شناسه استفاده کنیم.
عملگر انتساب
علامت = در زبان جاوا اسکریپت یه عملگر انتساب هست. این علامت به معنی <برابر با> نیست.
این با علامت = در جبر متفاوت هست. مثال زیر رو ببینید:
x = x + 5
همچین عبارتی در جبر معنی نداره و امکانپذیر نیست ولی در جاوا اسکریپت عبارت درستی هست. در واقع جاوا اسکریپت مقدار x+5 رو در داخل x ذخیره میکنه.
مثلا اگه مقدار x از قبل ۲ باشه بعد از اجرای این خط مقدار x برابر با ۷ میشه. مقدار x که قبلا ۲ بوده به اضافه ۵ میشه و دوباره در x ذخیره میشه.
انواع داده در جاوا اسکریپت
متغیرها در جاوا اسکریپت میتونن اعداد (مثل ۱۰۰) یا متن (مثل hello) رو توی خودشون ذخیره کنن. به متغیرهای متنی رشته String میگیم.
جاوا اسکریپت انواع بسیار زیادی از داده رو میتونه مدیریت کنه که توی جلسات آینده حتما در موردش صحبت میکنیم.
رشته ها حتما باید داخل کوتیشن یا دابل کوتیشن قرار بگیرن. ” یا ‘
اگه یه عدد رو داخل کوتیشن یا دابل کوتیشن قرار بدیم، جاوا اسکریپت اون رو به عنوان یه رشته میشناسه.
در مثال زیر من یک متغیر با نام pi تعریف کردم که مقدار اعشاری ۳.۱۴ رو در اون ذخیره کردم. همچنین در خط های بعدی دو متغیر از نوع رشته تعریف کردم.
var pi = 3.14;
var person = "John Doe";
var answer = 'Yes I am!';
تعریف متغیرها در جاوا اسکریپت
ما میتونیم با استفاده از کلمه کلیدی var متغیر جدیدی رو تعریف کنیم.
var carName;
توی مثال زیر یه متغیر با مقدار Volvo تعریف کردم و اون رو داخل پاراگرافی با id=demo قرار میدم:
<p id="demo"></p>
<script>
var carName = "Volvo";
document.getElementById("demo").innerHTML = carName;
</script>
نکته: اگه متغیری رو تعریف کنیم و به اون مقداری رو اختصاص ندیم، جاوا اسکریپت به صورت خودکار مقدار undefined رو بهش اختصاص میده.
تعریف چند متغیر در یک خط
ما میتونیم چند متغیر رو در یک خط تعریف و مقداردهی کنیم:
var person = "John Doe", carName = "Volvo", price = 200;
همینطور که میبینید با استفاده از کلمه کلیدی var و قرار دادن کاما بین هرتعریف متغیر، سه متغیر رو در یک خط تعریف و مقداردهی کردم.
همونطور که قبلا هم گفته بودم تا زمانی که از سمیکالن استفاده نکنم در واقع دستور ما تمام نشده، پس میتونیم هر متغیر رو در خط جداگانه هم بنویسیم و به این شکل هم مورد قبوله. مثال زیر رو ببینید:
var person = "John Doe",
carName = "Volvo",
price = 200;
تعریف مجدد متغیرها در جاوا اسکریپت
اگه متغیری رو دوباره تعریف کنی مقدار قبلی اون از بین نمیره.
توی مثال زیر متغیر carName در خط دوم همچنان مقدار Volvo رو داره.
var carName = "Volvo";
var carName;
محاسبات ریاضی در جاوا اسکریپت
ما میتونیم با استفاده از عملگرهای محاسباتی، محاسبات ریاضی رو توی جاوا اسکریپت انجام بدیم:
var x = 5 + 2 + 3;
همینطور میتونیم با استفاده از عملگر + دو یا چند رشته رو به همدیگه متصل کنیم. نمونه زیر رو ببینید:
var x = "John" + " " + "Doe";
اگر ما عددی رو داخل کوتیشن یا دابل کوتیشن قرار بدیم عملا اون رو تبدیل به رشته کردیم. اگه تو این حالت از عملگر + استفاده کنیم دیگه عملیات ریاضی روی اون اتفاق نمیفته و جاوا اسکریپت با اون عدد مثل یه رشته برخورد میکنه. حتی اگه عدد دیگری رو بدون کوتیشن با اون جمع کنیم اعداد دیگه رو هم مثل رشته باهاشون برخورد میکنه. مثال زیر رو ببینید:
var x = "5" + 2 + 3;
در مثال بالا مقدار x برابر است با “523” که یک رشته هست.
var x = 2 + 3 + "5";