Const در آرایه‌های JavaScript

ECMAScript ۲۰۱۵ (ES6)

در سال ۲۰۱۵، JavaScript یک کلیدواژه جدید مهم معرفی کرد:const.

با استفاده از const تخصیص آرایه‌ها به یک عملکرد رایج تبدیل شده است:

مثال

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

آموزش عملی

نمی‌توان دوباره تخصیص داد

با استفاده از const آرایه‌های مشخص شده نمی‌توانند دوباره تخصیص داده شوند:

مثال

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

آموزش عملی

آرایه‌ها ثابت نیستند

کلیدواژه const تأثیرات گمراه‌کننده‌ای دارد.

این نمی‌تواند آرایه‌های ثابت را تعریف کند. آنچه تعریف می‌کند، ارجاع ثابت به آرایه است.

بنابراین، ما همچنان می‌توانیم عناصر آرایه‌های ثابت را تغییر دهیم.

عناصر می‌توانند دوباره تخصیص داده شوند

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

مثال

// می‌توانید آرایه‌های ثابت ایجاد کنید:
const cars = ["Saab", "Volvo", "BMW"];
// می‌توانید عنصر را تغییر دهید:
cars[0] = "Toyota";
// می‌توانید عنصر اضافه کنید:
cars.push("Audi");

آموزش عملی

پردازنده مرورگر

Internet Explorer 10 یا نسخه‌های قبلی آن از کلید const پشتیبانی نمی‌کند const کلید.

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

Chrome IE Firefox Safari Opera
Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
مارس 2016 october 2013 فوریه 2015 سپتامبر 2016 مارس 2016

تخصیص در زمان تعریف

JavaScript const متغیرها باید در زمان تعریف آن‌ها تخصیص داده شوند:

معنای آن این است که با استفاده از const مجموعه‌ای که در آن تعریف شده است، باید در زمان تعریف آن تنظیم شود.

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

مثال

ناکارآمد:

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

با استفاده از var مجموعه‌ای که در آن تعریف شده است، می‌تواند در هر زمانی تنظیم شود.

شما حتی می‌توانید از این مجموعه قبل از تعریف آن استفاده کنید:

مثال

مشکلی نیست:

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

آموزش عملی

محدوده بلوک const

با استفاده از const مجموعه‌ای که در آن تعریف شده است،محدوده بلوک.

مجموعه‌ای که در بلوک تعریف شده است، با مجموعه‌ای که در بیرون بلوک تعریف شده است، متفاوت است:

مثال

const cars = ["Saab", "Volvo", "BMW"];
// در اینجا cars[0] به "Saab" اشاره دارد
{
  const cars = ["Toyota", "Volvo", "BMW"];
  // در اینجا cars[0] به "Toyota" اشاره دارد
}
// در اینجا cars[0] به "Saab" اشاره دارد

آموزش عملی

با استفاده از var مجموعه‌ای که در آن تعریف شده است، محدوده بلوک ندارد:

مثال

var cars = ["Saab", "Volvo", "BMW"];
// در اینجا cars[0] به "Saab" اشاره دارد
{
  var cars = ["Toyota", "Volvo", "BMW"];
  // در اینجا cars[0] به "Toyota" اشاره دارد
}
// در اینجا cars[0] به "Toyota" اشاره دارد

آموزش عملی

شما می‌توانید در بخش‌های زیر بیشتر درباره محدوده بلوک یاد بگیرید:دامنه JavaScript.

مجموعه را مجدداً نامگذاری کرد

در هر مکان از برنامه می‌توان از var دوباره تعریف آرایه:

مثال

var cars = ["Volvo", "BMW"];   // مجاز
var cars = ["Toyota", "BMW"];  // مجاز
cars = ["Volvo", "Saab"];      // مجاز

نه مجاز است که در یک محدوده عملکرد یا یک بلوک، مجموعه را مجدداً نامگذاری یا مجدداً تخصیص دهید به const:

مثال

var cars = ["Volvo", "BMW"];         // مجاز
const cars = ["Volvo", "BMW"];       // نه مجاز
{
  var cars = ["Volvo", "BMW"];         // مجاز
  const cars = ["Volvo", "BMW"];       // نه مجاز
}

نه مجاز است که در یک محدوده عملکرد یا یک بلوک، موجودیت موجود را مجدداً نامگذاری یا مجدداً تخصیص دهید const مجموعه:

مثال

const cars = ["Volvo", "BMW"];       // مجاز
const cars = ["Volvo", "BMW"];       // نه مجاز
var cars = ["Volvo", "BMW"];         // مجاز نیست
cars = ["Volvo", "BMW"];             // مجاز نیست
{
  const cars = ["Volvo", "BMW"];     // مجاز
  const cars = ["Volvo", "BMW"];     // مجاز نیست
  var cars = ["Volvo", "BMW"];       // مجاز نیست
  cars = ["Volvo", "BMW"];           // مجاز نیست
}

مجاز است که در محدوده‌ای دیگر یا بلوکی دیگر استفاده شود const دوباره تعریف آرایه:

مثال

const cars = ["Volvo", "BMW"];       // مجاز
{
  const cars = ["Volvo", "BMW"];     // مجاز
}
{
  const cars = ["Volvo", "BMW"];     // مجاز
}

دستورالعمل کامل آرایه

برای دسترسی به منابع کامل، لطفاً به منابع کامل ما دستورالعمل آرایه JavaScript.

این دستورالعمل شامل توضیحات و مثالهای تمام ویژگیها و روشهای آرایه‌ها است.