صفر تا صد متغیرها در جاوا اسکریپت

در این پست آموزشی از مکتب خونه قرار است در رابطه با متغیر در جاوا اسکریپت با هم به گفتگو بپردازیم و در عمل نحوه کار با آنها را یاد بگیریم. پس تا آخر این پست آموزشی ما را همراهی کنید تا کار با JavaScript Variable را یاد بگیریم. قبل از اینکه با تغییرها در جاوا اسکریپت آشنا شویم، ابتدا با انواع داده در جاوا اسکریپت آشنا خواهیم شد تا کار ما در درک کردن متغیرها آسانتر شود.
انواع داده جاوا اسکریپت
یکی از اساسیترین ویژگیهای یکزبان برنامهنویسی مجموعهای از انواع دادههایی است که از آن پشتیبانی میکند. دادهها نوع مقادیری هستند که میتوان آنها را در یکزبان برنامهنویسی نشان داد و دستکاری کرد.
جاوا اسکریپت به شما امکان میدهد با سه نوع داده ابتدایی کارکنید:
- اعداد، بهعنوانمثال. 123، 120.50 و غیره
- رشتههای متنی بهعنوانمثال “mahtabkhooneh is best webite” و غیره
- دادههای بولی بهعنوانمثال false&true.
جاوا اسکریپت همچنین دو نوع داده بیاهمیت، null و undefined را تعریف میکند که هرکدام تنها یک مقدار را تعریف میکنند. علاوه بر این نوع دادههای اولیه، جاوا اسکریپت از یک نوع داده ترکیبی بهنامشی پشتیبانی میکند.
توجه – جاوا اسکریپت بین مقادیر صحیح و مقادیر ممیز شناور تمایزی قائل نمیشود. همه اعداد در جاوا اسکریپت بهصورت مقادیر ممیز شناور نمایش داده میشوند. جاوا اسکریپت اعداد را با استفاده از فرمت ممیز شناور 64 بیتی تعریفشده توسط استاندارد IEEE 754 نشان میدهد.
تعریف متغیر در جاوا اسکریپت
مانند بسیاری از زبانهای برنامهنویسی دیگر، جاوا اسکریپت دارای متغیرهایی است. متغیرها را میتوان بهعنوان کانتینرهای نامگذاری شده در نظر گرفت. میتوانید دادهها را در این کانتینرها قرار دهید و سپس بهسادگی با نامگذاری کانتینر به دادهها مراجعه کنید.
به زبان بسیار ساده متغیر در جاوا اسکریپت یک مکان ذخیرهسازی است. دو نوع متغیر در جاوا اسکریپت وجود دارد: متغیر محلی و متغیر جهانی.
قبل از استفاده از یک متغیر در یک برنامه جاوا اسکریپت، باید آن را اعلام کنید. متغیرها با کلمه کلیدی var بهصورت زیر اعلام میشوند.
- هنگام اعلام متغیر جاوا اسکریپت (همچنین بهعنوان شناسه شناخته میشود) قوانینی وجود دارد.
- نام باید با یک حرف (a تا z یا از A تا Z)، زیرخط (_)، یا علامت دلار ($) شروع شود.
- بعد از حرف اول میتوانیم از ارقام (0 تا 9) برای مثال value1 استفاده کنیم.
- متغیرهای جاوا اسکریپت به حروف بزرگ و کوچک حساس هستند، برای مثال x و X متغیرهای متفاوتی هستند.
مثال از نامگذاری متغیر در JavaScript :
نامگذاری صحیح:
var x = 10;
var _value="sonoo";
نام گذاری غلط:
var 123=30;
var *aa=320;
مثالهایی از به کار بردن متغیر در جاوا اسکریپت:
قبل از استفاده از یک متغیر در یک برنامه جاوا اسکریپت، باید آن را اعلام کنید. متغیرها با کلمه کلیدی var بهصورت زیر اعلام میشوند.
var money;
var name;
همچنین میتوانید چندین متغیر را با کلمه کلیدی var بهصورت زیر اعلام کنید.
var money, name;
ذخیره یک مقدار در یک متغیر، مقداردهی اولیه متغیر نامیده میشود. شما میتوانید مقداردهی اولیه متغیر را در زمان ایجاد متغیر یا در زمان دیگری که به آن متغیر نیاز دارید انجام دهید.
برای مثال، ممکن است متغیری به نام money ایجاد کنید و بعداً مقدار 2000.50 را به آن اختصاص دهید. برای متغیر دیگری، میتوانید یک مقدار را در زمان مقداردهی اولیه بهصورت زیر اختصاص دهید.
var name = "Ali";
var money;
money = 2000.50;
نکته – از کلمه کلیدی var فقط برای اعلان یا مقداردهی اولیه استفاده کنید، یعنی یکبار در طول عمر هر نام متغیر در یک سند. شما نباید یک متغیر را دو بار مجدداً اعلام کنید.
جاوا اسکریپت یکزبان تایپ نشده است. این بدان معنی است که یک متغیر جاوا اسکریپت میتواند مقداری از هر نوع دادهای را در خود نگه دارد. برخلاف بسیاری از زبانهای دیگر، لازم نیست به جاوا اسکریپت در حین اعلان متغیر بگویید که متغیر چه نوع مقداری را نگه میدارد. نوع مقدار یک متغیر در جاوا اسکریپت میتواند در حین اجرای برنامه تغییر کند و جاوا اسکریپت بهطور خودکار از آن مراقبت میکند.
مثالی دیگر از نحوه استفاده از متغیر در جاوا اسکریپت:
var x = 10;
var y = 20;
var z=x+y;
document.write(z);
خروجی به شکل زیر است:
تفاوت بین کلمه کلیدی let و var
کلمه کلیدی var
همانطورکه گفتیم، دستور var برای اعلان یک متغیر در جاوا اسکریپت استفاده میشود. یک متغیر اعلامشده با کلمه کلیدی var در سراسر برنامه تعریفشده است.
کلمه کلیدی let
دستور let برای اعلام یک متغیر محلی در TypeScript استفاده میشود. شبیه کلمه کلیدی var است، اما در مقایسه با کلمه کلیدی var محدودیتهایی در محدوده دارد. کلمه کلیدی let میتواند خوانایی کد ما را افزایش دهد و احتمال خطای برنامهنویسی را کاهش دهد. متغیری که با کلمه کلیدی let اعلامشده است فقط به محدوده بلوک محدود میشود.
انواع متغیر در جاوا اسکریپت
مانند بسیاری از زبانهای برنامهنویسی دیگر در جاوا اسکریپت نیز دو نوع متغیر داریم. متغیر سراسری و متغیر محلی. در بالا یه اشاره کوچکی به این نوع متغیرها داشتیم در ادامه با ارائه نمونههای عملی آنها را یاد میگیریم.
متغیرهای محلی جاوا اسکریپت
یک متغیر محلی جاوا اسکریپت در داخل بلوک یا تابع اعلان میشود. فقط در داخل تابع یا بلوک قابلدسترسی است. یک متغیر محلی فقط در تابعی که در آن تعریفشده است قابلمشاهده خواهد بود و پارامترهای تابع همیشه محلی برای آن تابع هستند. مثلاً:
function abc(){
var x=10;//local variable
}
یا
If(10<13){
var y=20;//JavaScript local variable
}
متغیر سراسری جاوا اسکریپت
یک متغیر سراسری جاوا اسکریپت از هر تابعی قابلدسترسی است. متغیری که خارج از تابع اعلانشده یا با شی پنجره اعلانشده باشد بهعنوان متغیر جهانی شناخته میشود. بهعبارتیدیگر یک متغیر سراسری دارای دامنه جهانی است که به این معنی است که میتوان آن را در هرجایی از کد جاوا اسکریپت تعریف کرد. مثلاً
var data=200;//gloabal variable
function a(){
document.writeln(data);
}
function b(){
document.writeln(data);
}
a();//calling JavaScript function
b();
نکته مهم:
در بدنه یک تابع، یک متغیر محلی بر یک متغیر سراسری با همان نام اولویت دارد. اگر یک متغیر محلی یا پارامتر تابع را با همان نام یک متغیر جهانی اعلام کنید، بهطور مؤثر متغیر سراسری را در آن تابع بیاثر میکنید. به مثال زیر دقت کنید.
var myVar = "global"; // Declare a global variable
function checkscope( ) {
var myVar = "local"; // Declare a local variable
document.write(myVar);
}
خروجی به شکل زیر است:
نامگذاری متغیرها جاوا اسکریپت
هنگام نامگذاری متغیر در جاوا اسکریپت، قوانین زیر را در نظر داشته باشید. نامگذاری صحیح تغییرها باید از قواعد زیر پیروی کند.
- شما نباید از هیچیک از کلمات کلیدی رزرو شده جاوا اسکریپت بهعنوان نام متغیر استفاده کنید. این کلمات کلیدی در بخش بعدی ذکرشده است. بهعنوانمثال، نام متغیرهای break یا boolean معتبر نیستند.
- نام متغیرهای جاوا اسکریپت نباید با یک عدد (0-9) شروع شود. آنها باید با یک حرف یا یک کاراکتر زیرخط شروع شوند. بهعنوانمثال، 123test یک نام متغیر نامعتبر است اما _123test یک نام معتبر است.
- نام متغیرهای جاوا اسکریپت به حروف بزرگ و کوچک حساس هستند. برای مثال Name و name دو متغیر متفاوت هستند.
- هستند.
کلمات رزو شده در جاوا اسکریپت
لیستی از تمام کلمات رزرو شده در جاوا اسکریپت در جدول زیر آورده شده است. آنها را نمیتوان برای نامگذاری متغیرهای جاوا اسکریپت، توابع، متدها، برچسبهای حلقه یا هر نام شی مورداستفاده قرارداد.
abstract | else | instanceof | switch |
boolean | enum | int | synchronized |
break | export | interface | this |
byte | extends | long | throw |
case | false | native | throws |
catch | final | new | transient |
char | finally | null | true |
class | float | package | try |
const | for | private | typeof |
continue | function | protected | var |
debugger | goto | public | void |
default | if | return | volatile |
delete | implements | short | while |
do | import | static | with |
double | in | super |
ثابتها در جاوا اسکریپت
یک ثابت دارای مقداری است که تغییر نمیکند. برای اعلام یک ثابت، از کلمه کلیدی const استفاده میکنید. هنگام تعریف یک ثابت، باید آن را با یک مقدار، مقداردهی اولیه کنید. مثلاً:
const workday = 5;
در چنین شرایطی با خطای زیر مواجه میشویم:
Uncaught TypeError: Assignment to constant variable
4 روش برای اعلام متغیر جاوا اسکریپت:
- با استفاده از var
- با استفاده از let
- با استفاده از const
- مقداردهی بدون تعریف
چه زمانی از جاوا اسکریپت var استفاده کنیم؟
- همیشه متغیرهای جاوا اسکریپت را با var,let, orconst اعلام کنید.
- کلمه کلیدی var در تمامی کدهای جاوا اسکریپت از سال 1995 تا 2015 استفادهشده است.
- کلمات کلیدی let و const در سال 2015 به جاوا اسکریپت اضافه شدند.
- اگر میخواهید کد شما در مرورگر قدیمی اجرا شود، باید از var استفاده کنید.
چه زمانی از جاوا اسکریپت استفاده کنیم؟
- اگر یک قانون کلی میخواهید: همیشه متغیرها را با const اعلام کنید.
- اگر فکر میکنید مقدار متغیر میتواند تغییر کند، از let استفاده کنید.
- در این مثال، price1، price2 و total متغیرهایی هستند:
const price1 = 5;
const price2 = 6;
let total = price1 + price2;
- دو متغیر price1 و price2 با کلمه کلیدی const اعلام میشوند. این مقادیر ثابت هستند و قابلتغییر نیستند.
- متغیر total با کلمه کلیدی let اعلام میشود. این مقداری است که قابلتغییر است.
مقداردهی به متغیر در جاوا اسکریپت بدون تعریف آن
در برنامههای کامپیوتری، متغیرها اغلب بدون مقدار اعلان میشوند. مقدار میتواند چیزی باشد که باید محاسبه شود، یا چیزی که بعداً ارائه میشود، مانند ورودی کاربر. متغیری که بدون مقدار اعلامشده باشد، مقدار آن تعریفنشده خواهد بود.
در مثال زیر متغیر carName پس از اجرای این دستور دارای مقدار تعریفنشده خواهد بود:
let carName;
نتیجهگیری
متغیرها رکن مهم جاوا اسکریپت و هر زبان برنامهنویسی هستند. در این پست آموزشی از مکتب خونه سعی کردیم شمارا با متغیر در جاوا اسکریپت آشنا کنیم. برای آشنایی بیشتر و عمیقتر با متغیرهای جاوا اسکریپت شما باید بیشتر تلاش و تمرین کنید. یادگیری تغییرها و نحوه استفاده از آنها در داخل تمرینهای برنامهنویسی بسیار مؤثرتر از روشهای دیگر است.
منابع:
https://www.w3schools.com/js/js_variables.asp
https://www.javatpoint.com/javascript-global-variable