check home phone-call search send

جشنواره نوروزی سورس ایران شروع شد - 😍 تا 50 درصد تخفیف واقعی 😍

مشاهده محصولات
  • 00روز
  • 00 ساعت
  • 00دقیقه
  • 00 ثانیه

انواع روش‌ تعریف متغیر در جاوااسکریپت

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

در این مقاله آموزشی قصد داریم روش‌های مختلف تعریف متغیرها در جاوااسکریپت را برای‌تان توضیح دهیم. متغیرها ظرف‌هایی هستند که در موقعیت‌های مختلف مقادیر مختلفی می‌گیرند. هر متغیر یک نام و یا مقدار دارد که در داخل کد از آن استفاده خواهد شد. دستور ایجاد یک متغیر پیش از هر کد دیگری در برنامه اجرا می‌شود.

روش‌های مختلف تعریف متغیرها در جاوا اسکریپت

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

 1- اعلان :
متغیر یک نام منحصر بفرد گرفته و در محدوده‌ی اجرایی خودش ثبت می‌شود.
2- مقداردهی اولیه:
بعد از تعریف متغیر یک مقدار اولیه پیش فرض به آن داده می‌شود. در واقع متغیر ها مکان‌هایی از حافظه هستند که داده‌ها را در خود ذخیره می‌کند.
3- انتصاب : 
زمانی اتفاق می‌افتد که مقدار خاصی به متغیر اختصاص داده ‌شود.

جاوااسکریپت به حروف بزرگ و کوچک حساس است. برای مثال var با Var دو عبارت  متفاوت برای این زبان تلقی می‌شود.”

جاوا اسکریپت

تعریف متغیر ها 

var :

var x; // Declaration and initialization
x = "Hello World"; // Assignment

// Or all in one
var y = "Hello World";

var یکی از معمول‌ترین اعلان‌هایی است که برای تعریف متغیرها در جاوا اسکریپت استفاده می‌شود. تا پیش از مطرح شدنECMAScript 6  کلید واژه‌ی var تنها راه تعریف متغیرها در جاوا اسکریپت به حساب می‌امد.
در صورتیکه می‌خواهید یک متغیر به صورت محلی تعریف شود، از عبارت var  استفاده کنید.  در غیر اینصورت واژه‌ی مورد نظر به عنوان یک متغیر عمومی شناخته می‌شود.
مثال :

function sayHello(){
  var hello = "Hello World";
  return hello;
}
console.log(hello);

در قطعه کد بالا متغیر hello فقط برای sayHello تعریف شده است. اما در کدی که در ادامه آمده است، متغیر hello عمومی است.

var hello = "Hello World";
function sayHello(){
  return hello;
}
console.log(hello);

Let :

let x; // Declaration and initialization
x = "Hello World"; // Assignment

// Or all in one
let y = "Hello World";

واژه‌ی Let  مدل جدیدی از var  است که در ES6  معرفی شد. با استفاده از این کلمه‌ی کلیدی متغیر به یک تابع محدود نشده  و می‌توانید ان را برای یک بلوک تعریف کنید. یک بلوک توسط {} معرفی می‌شود.

var name = "Peter";
if(name === "Peter"){
  let hello = "Hello Peter";
} else {
  let hello = "Hi";
}
console.log(hello);

در قطعه کد بالا  متغیر  hello  بیرون از بلوک if در دسترس نخواهد بود.  let درصد خطاهای برنامه‌تان را کمتر می‌کند.

var name = "Peter";
if(name === "Peter"){
  let hello = "Hello Peter";
  console.log(hello);
} else {
  let hello = "Hi";
  console.log(hello);
}

Const : 

const x = "Hello World";

در ES 6 کلمه‌ی جدید مطرح شد که به برنامه‌نویسان اجازه می‌داد متغیرهای خواندنی ایجاد کرده و به آن‌ها مقدار دهند. متغیرهای ثابت برای نگهداری مقادیری استفاده می‌شوند که غیر قابل تغییرند. این مقادیر یک بار تعریف شده و در جاهای مختلف برنامه استفاده می‌شوند.
پیش از ارائه‌ی ES6 تعریف مقادیر ثابت در جاوااسکرپت امکان‌پذیر نبود. اما حالا از کلمه کلیدی const برای تعریف این مقادیر استفاده می‌شود. واژه‌ی const نیز مانند let دارای  محدوده‌ی بلوکی است. 

متغیرهای عمومی :

متغیرهایی که به صورت var،let  و const تعریف نشده‌اند، اصطلاحا متغیرهای عمومی تلقی می‌شوند. این متغیرها حتی اگر در داخل تابع  تعریف شده باشند،  در تمام بخش های کد قابل دسترسی‌ می‌شوند.

مثال :

function sayHello(){
  hello = "Hello World";
  return hello;
}
sayHello();
console.log(hello);

حوزه تعریف متغیر و Hoisting :

var، let و const تفاوت دیگری هم دارند که به دلیل وجود مفهومی به نام hoisting  مطرح می‌شود. یکی دیگر از ویژگی‌هایی جاوااسکریپت این است که می‌توانید متغیرها را قبل از تعریف شدن، استفاده کنید. به این مفهوم بالا بردن یا hoisting گفته می‌شود. به عبارت دیگر می‌توان متغیر را مورد استفاده قرار داده و بعدا آن را تعریف کنید.
برای متغیرهای var در صورتی که متغیر بعدا تعریف نشده باشد، مقدار undefined  برگردانده می‌شود در صورتیکه در متغیرهای let  و const برنامه خطا می‌دهد.

“جاوا اسکریپت مقداردهی‌های اولیه را hoist نمی‌کند.”  

console.log(hello);
var hello;
hello = "I'm a variable";
var hello;
console.log(hello);
hello = "I'm a variable";

برای جلوگیری از بروز خطا در کدنویسی بهتر است متغیرهای خود را در ابتدای scope تعریف کنید.

شما اگر روش دیگری برای تعریف متغیر جاوااسکریپت میشناسید میتونید در بخش نظرات بگید تا به این صفحه اضافه کنیم . 

Avatar
پشتیبان سورس ایران 2180 مطلب منتشر شده

در مجموعه سورس ایران سعی می کنیم علاوه بر آموزش برنامه نویسی، به مسائل مرتبط و مهارت های نرم بپردازیم تا بعدهای مختلف را پوشش دهیم.

دیدگاه کاربران

تعداد دیدگاه های کاربران : ۰ دیدگاه
هنوز دیدگاهی ارسال نشده است.


شما با موفقیت در خبرنامه ما عضو شدید