٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش توابع جاوا اسکریپت

constکلمه کلیدی را در معرفی شد ES6 (2015) . متغیرهای تعریف شده constرا نمی توان مجدداً اعلام کرد. متغیرهای تعریف شده با constمجدداً قابل انتساب نیستند. متغیرهای تعریف شده با constBlock Scope هستند. امکان واگذاری مجدد وجود ندارد یک constمتغیر نمی تواند دوباره تعیین شود: مثال…

محمد یوسفی

17 جولای 2021

constکلمه کلیدی را در معرفی شد ES6 (2015) .

متغیرهای تعریف شده constرا نمی توان مجدداً اعلام کرد.

متغیرهای تعریف شده با constمجدداً قابل انتساب نیستند.

متغیرهای تعریف شده با constBlock Scope هستند.

امکان واگذاری مجدد وجود ندارد

یک constمتغیر نمی تواند دوباره تعیین شود:

مثال

const PI = 3.141592653589793;
PI = 3.14;      // This will give an error
PI = PI + 10;   // This will also give an error

باید اختصاص داده شود

constمتغیرهای جاوا اسکریپت باید هنگام تعیین مقدار تعیین شوند:

درست

const PI = 3.14159265359;

غلط

const PI;
PI = 3.14159265359;

چه موقع باید از ساختار JavaScript استفاده کرد؟

به عنوان یک قاعده کلی ، همیشه یک متغیر را با constآن اعلام کنید مگر اینکه بدانید که مقدار تغییر خواهد کرد.

همیشه constوقتی اعلام می کنید استفاده کنید:

  • یک آرایه جدید
  • یک شی جدید
  • عملکرد جدید
  • یک RegExp جدید

اشیا Constant و آرایه های ثابت

کلمه کلیدی constکمی گمراه کننده است.

یک مقدار ثابت را تعریف نمی کند. این یک اشاره ثابت به یک مقدار را تعریف می کند.

به همین دلیل شما نمی توانید:

  • یک مقدار ثابت را دوباره تعیین کنید
  • یک آرایه ثابت را دوباره تعیین کنید
  • یک شی ثابت را دوباره تعیین کنید

ولی شما میتوانید:

  • یک آرایه ثابت را تغییر دهید
  • یک شی ثابت را تغییر دهید

آرایه های ثابت

می توانید عناصر آرایه ثابت را تغییر دهید:

مثال

// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];

// You can change an element:
cars[0] = "Toyota";

// You can add an element:
cars.push("Audi");

اما شما نمی توانید آرایه را دوباره تعیین کنید:

مثال

const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

اشیا Constant ثابت

می توانید خصوصیات یک شی ثابت را تغییر دهید:

مثال

// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson";

اما شما نمی توانید شی object را دوباره تعیین تکلیف کنید:

مثال

const car = {type:"Fiat", model:"500", color:"white"};

car = {type:"Volvo", model:"EX60", color:"red"};    // ERROR

پشتیبانی مرورگر

constکلمه کلیدی در اینترنت اکسپلورر 10 و یا قبل از پشتیبانی نمی شود.

جدول زیر اولین نسخه های مرورگر را با پشتیبانی کامل از constکلمه کلیدی تعریف می کند:


محدوده محدوده

اعلام متغیر با constهمان چیزی است let که به Block Scope می رسد .

x اعلام شده در بلوک ، در این مثال ، همان x اعلام شده در خارج از بلوک نیست:

مثال

const x = 10;
// Here x is 10

{
const x = 2;
// Here x is 2
}

// Here x is 10

اعلام مجدد

اعلان مجدد varمتغیر JavaScript در هر کجای برنامه مجاز است:

مثال

var x = 2;     // Allowed
var x = 3;     // Allowed
x = 4;         // Allowed

اعلان مجدد موجود varیا let متغیر به constهمان محدوده مجاز نیست:

مثال

var x = 2;     // Allowed
const x = 2;   // Not allowed

{
let x = 2;     // Allowed
const x = 2;   // Not allowed
}

{
const x = 2;   // Allowed
const x = 2;   // Not allowed
}

اختصاص constمجدد متغیر موجود ، در همان محدوده ، مجاز نیست:

مثال

const x = 2;     // Allowed
x = 2;           // Not allowed
var x = 2;       // Not allowed
let x = 2;       // Not allowed
const x = 2;     // Not allowed

{
  const x = 2;   // Allowed
  x = 2;         // Not allowed
  var x = 2;     // Not allowed
  let x = 2;     // Not allowed
  const x = 2;   // Not allowed
}

اعلان مجدد متغیر با constیک دامنه دیگر یا یک بلوک دیگر مجاز است:

مثال

const x = 2;       // Allowed

{
  const x = 3;   // Allowed
}

{
  const x = 4;   // Allowed
}

ساخت بالابرنده

متغیرهایی که با varآنها تعریف می شوند به بالا برداشته می شوند و در هر زمان می توانند مقداردهی اولیه شوند.

معنی: شما می توانید از متغیر قبل از اعلام استفاده کنید:

مثال

این خوب است:

carName = "Volvo";
var carName;

متغیرهایی که با constآنها تعریف می شوند نیز به بالا برده می شوند ، اما مقداردهی اولیه نمی شوند.

معنی: استفاده از یک constمتغیر قبل از اعلام منجر به یک ReferenceError:

مثال

alert (carName);
const carName = "Volvo";

منبع

مطالب مرتبط

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها