پرسش خود را بپرسید

فر ق دستور var و let

تاریخ
٦ ماه پیش
بازدید
٩٥

فر ق دستور 

var و let  

در زبان برنامه نویسی جاوا اسکریپت چیه؟

٢,٠٠٥
طلایی
٠
نقره‌ای
٣
برنزی
١٠٧

٢ پاسخ

مرتب سازی بر اساس:

در زبان  جاوا اسکریپت مدرن، ما  سه keyword برای اعلان یک متغیر (variable) داریم.

var
let
const

همچنین ما دو اصلاح global scope و local scope را داریم.

یکی از تفاوت‌های var و let در اینجا مشخص می‌شود:
 

وقتی متغیری را با کلمه‌کلیدی var تعریف می‌کنیم؛ محدودهٔ local scope را فقط در فانکشن‌ها برای این متغیر داریم و مقدار متغیر var در خارج از فانکشن در دسترس نیست. مثلاً:


 var age = 20; // age is in global scope

if (true) {

  var name = "ali"; // name is in global scope

  console.log("if: ",age); // ✅ age is in global scope

}

function bio() {

  var family = "rezayi"; // ⭐family is in local scope

  console.log("function: ",age); // ✅ age is in global scope

  console.log("function: ",name); // ✅ name is in global scope

  console.log("function: ",family); // ✅ family is in local scope

}

bio();

console.log("global: ",age); // ✅ age is in global scope

console.log("global: ",name); // ✅ name is in global scope

console.log("global: ",family); // ❌ family is in local scope



ولی هر متغیری با کلمه‌کلیدی let را هرگاه داخل یک بلوک کد یا {}  دیدیم،  متغیر  در  آنجا به صورت local scope است.  مثلاً:
 

let age = 20; // age is in global scope
 

if (true) {

  let name = "ali"; //⭐ name is in local scope

  console.log("if: ",age); // ✅ age is in global scope

}

function bio() {

  let family = "rezayi"; //⭐ family is in local scope

  console.log("function: ",age); // ✅ age is in global scope

  console.log("function: ",name); // ❌ name is in local scope

  console.log("function: ",family); // ✅ family is in local scope

}

bio();


console.log("global: ",age); // ✅ age is in global scope

console.log("global: ",name); // ❌ name is in local scope

console.log("global: ",family); // ❌ family is in local scope

٨٧
طلایی
٠
نقره‌ای
٤
برنزی
١
تاریخ
٦ ماه پیش

به شما این اجازه را می‌دهد که متغیر‌هایی تعریف کنید که به یک محدوده بلوک از کد، مثل یک حلقه for، محدود باشد و خارج از محدوده بلوک‌ تعریف نشده باشد. برخلاف var، متغیری که با var تعریف شده باشد، بدون در نظر گرفتن محدوده یک بلوک، در تمام کد قابل دسترس و سراسری (global) است

١,٣٤٨
طلایی
٠
نقره‌ای
١٩
برنزی
٢٢
تاریخ
٦ ماه پیش

پاسخ شما