دوره آموزش رایگان زبان برنامه نویسی جاوا اسکریپت (JavaScript) جلسه نهم

شروع فصل ۲

آشنایی با مفهوم متغیر در زبان برنامه نویسی جاوا اسکریپت

در یک برنامه، متغیرها به عنوان نماینده و نشانه ی یک چیز استفاده می شوند. همان طور که در ریاضی از x به عنوان یک متغیر ناشناخته استفاده می کنیم یا در نقشه ی دزدان دریایی، مکان پنهان شدن گنج را با x مشخص می کنند، در برنامه نویسی نیز متغیرها نشان دهنده ی یک چیز نامشخص هستند.

معادل انگلیسی متغیر در دنیای برنامه نویسی Variable است که از فعلی تحت عنوان Vary به معنی «تغییر کردن» گرفته شده است. با توجه به ماهیت متغیرها که داده های ذخیره شده داخل آن ها دائما در حال تغییر اند، به نظر می رسد که نام مناسبی برایشان انتخاب شده است!

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

alert (3 + 7);

وظیفه ی این برنامه آن است که اعداد ۳ و ۷ را با هم جمع کرده و نتیجه را در یک پنجره ی Popup نمایش دهد. این برنامه کاربردهای چندانی ندارد مگر آن که کار شما به نوعی باشد که همیشه به این جمع و نتیجه ی آن نیاز پیدا کنید. حالا اگر متغیرها را وارد ماجرا کنیم، می توان یک برنامه ی کلی و کاربردی نوشت که هر دو عدد دلخواه ما را گرفته، با هم جمع کرده و نتیجه را نمایش دهد. نمونه ی زیر را نگاه کنید:

var firstNumber = 3;
var secondNumber = 7;
var total = Number(firstNumber) + Number(secondNumber);
alert (total);

همان طور که در این مثال می بینید، متغیرها را با Keyword (کیورد) یا کلمه ی از پیش رزرو شده ی «var» در زبان جاوا اسکریپت تعریف می کنیم (نحوه ی تشکیل و مقدار دهی متغیرها را در ادامه به طور کامل بررسی خواهیم کرد.) حال می توانیم پا را یک قدم فراتر گذاشته و از کاربر بخواهیم که خودش، اعداد دلخواه را وارد کند تا برنامه ی ما آن ها را با هم جمع کند:

var firstNumber = prompt("Enter the first number");
var secondNumber = prompt("Enter the second number");
var total = Number(firstNumber) + Number(secondNumber);
alert (total);

حال بیایید این برنامه را در مرورگر امتحان کنیم. ابتدا سابلایم را باز کرده و یک فایل ساده ی HTML بسازید (در فصل اول، نحوه ی ساخت فایل ها را توضیح دادیم.) سپس در بین تگ های <body> و <body/>، یک تگ آغازین <script> باز کرده و سپس تگ پایانی <script/> را نیز بگذارید. اکنون کد بالا را مابین تگ های script وارد کنید. در این مرحله از کار، فایل نهایی به شکل زیر در می آید:

<!DOCTYPE html>
<html>
<head></head>
<body>
    <script>
        var firstNumber = prompt("Enter the first number");
        var secondNumber = prompt("Enter the second number");
        var total = Number(firstNumber) + Number(secondNumber);
        alert (total);
    </script>
</body>
</html>

این فایل HTML را با نام addtwo.html ذخیره کرده سپس آن را در مرورگر باز کنید. در اینجا می بایست طبق عکس پایین، مرورگر از شما بخواهد که اعداد اول و دوم را وارد کنید:

addtwo

اعداد اول و دوم را به ترتیب، در پنجره های کوچکی که نمایش داده می شوند، وارد کنید. پس از وارد کردن اعداد، نتیجه ی جمع آن ها در پنجره ی سومی ظاهر می شود. تبریک می گوییم!

چگونه یک متغیر بسازیم؟
برای آن که به جاوا اسکریپت (یا هر زبان برنامه نویسی دیگر) بفهمانیم که قصد ساخت یک متغیر را داریم، می بایست از کلمات و قوانین آن زبان استفاده کنیم. در جاوا اسکریپت برای ایجاد یک متغیر می توان از یکی از دو راه زیر استفاده کرد:

– با استفاده از کلمه ی کلیدی var:

var myName;

متغیری که با استفاده از کلمه ی کلیدی var ساخته شده، در ابتدا دارای مقدار نامشخص و تهی است، مگر آن که مقداری برایش در نظر بگیریم. مثلاً:

var myName = "Purya";

– بدون استفاده از کلمه ی کلیدی var:

myName = "Purya";

زمانی که متغیری را بدون استفاده از var ایجاد کنیم، آن متغیر به عنوان متغیر Global (گِلوبال) یا عمومی تعریف می شود. (برای آن که با مفهوم متغیرهای عمومی آشنا شوید، به آموزش بعد مراجعه نمایید.)

نکته

به نمادهای ” ” که در اطراف عبارات قبلی گذاشتیم، دقت کنید. نمادهای Quotation (کوتِیشن) به زبان جاوا اسکریپت می گویند که مقادیر درون متغیرها می بایست به عنوان استرینگ یا «متن» شناخته شوند نه یک عدد، کلمه ی کلیدی و یا چیز دیگر. در ادامه ی این فصل، با انواع داده ها و زمان هایی که باید از کوتیشن استفاده کرد، بیشتر آشنا می شویم.
وقتی که مساوی، مساوی نیست!
در زبان فارسی و ریاضی اگر با عبارتی مانند “var myName = Purya” رو به رو شویم، به طور عادی آن را این گونه می خوانیم که متغیر myName مساوی است با Purya. اما این تعبیر در برنامه نویسی صحیح نیست. مثال زیر را در نظر بگیرید:

var myName = "Purya";

علامتی که بین نام متغیر (myName) و مقدار آن (“Purya”) قرار گرفته و شبیه علامت مساوی است، در برنامه نویسی با نام «اپراتور تخصیص دهنده» شناخته می شود. با آن که این علامت دقیقاً شبیه مساوی است و حتی با کلید مساوی بر روی کیبورد نیز ساخته می شود، اما در برنامه نویسی نام دیگری داشته و به طور کامل با مساوی در ریاضیات فرق می کند. یکی از مهم ترین مسائل برای برنامه نویسان تازه کار، آن است که تفاوت بین مساوی و اپراتور تخصیص دهنده را بدانند:

اپراتور تخصیص دهنده، چیزی که در سمت راست آن قرار دارد را به چیزی که در سمت چپ اش قرار گرفته، اختصاص می دهد:

var myName = "Purya";

در کد فوق، مقداری معادل با Purya به متغیری تحت عنوان myName اختصاص داده شده است. جاوا اسکریپت دارای عملگری به نام “مساوی” نیز هست که دقیقاً همان کاری را می کند که ما از یک “مساوی” انتظار داریم، یعنی بررسی می کند که آیا عبارت سمت چپ با عبارت سمت راست از لحاظ مقدار یکسان است یا خیر. “مساوی” در جاوا اسکریپت با نماد “==” نشان داده می شود. یعنی دو علامت مساوی پشت سر هم!

در آموزش های بعد بیشتر در مورد متغیرها در زبان برنامه نویسی جاوا اسکریپت صحبت خواهیم کرد.

221

اسماعیلی هستم مدیر عصر فنون. فارغ التحصیل مقطع کارشناسی ارشد رشته مهندسی فناوری اطلاعات (IT)