ECMAScript 2015 (ES6)
در سال 2015 ، جاوا اسکریپت یک کلمه کلیدی مهم جدید را معرفی کرد const
:.
اعلام آرایه ها با استفاده از const
:
مثال
const cars = ["Saab", "Volvo", "BMW"];
امکان واگذاری مجدد وجود ندارد
آرایه ای که با آن اعلام شده است const
نمی تواند دوباره تعیین شود:
مثال
const cars = ["Saab", "Volvo", "BMW"]; cars = ["Toyota", "Volvo", "Audi"]; // ERROR
آرایه ها ثابت نیستند
کلمه کلیدی 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
کلمه کلیدی در اینترنت اکسپلورر 10 و یا قبل از پشتیبانی نمی شود.
جدول زیر اولین نسخه های مرورگر را با پشتیبانی کامل از const
کلمه کلیدی تعریف می کند:
وقتی اعلام شد اختصاص داده شد
const
متغیرهای جاوا اسکریپت باید هنگام تعیین مقدار تعیین شوند:
معنی: آرایه هایی که با اعلام می const
شوند باید هنگام اعلام مقداردهی اولیه شوند.
استفاده const
بدون مقداردهی اولیه آرایه یک خطای نحوی است:
مثال
این کار نمی کند:
const cars; cars = ["Saab", "Volvo", "BMW"];
آرایه های اعلام شده با var
هر لحظه می توانند مقداردهی اولیه شوند.
حتی می توانید از آرایه قبل از اعلام استفاده کنید:
مثال
این خوب است:
cars = ["Saab", "Volvo", "BMW"]; var cars;
محدوده ساخت و ساز
یک آرایه اعلام کرد با const
است بلوک محدوده .
آرایه ای که در یک بلوک اعلان می شود همان آرایه اعلام شده در خارج از بلوک نیست:
مثال
const cars = ["Saab", "Volvo", "BMW"]; // Here cars[0] is "Saab" { const cars = ["Toyota", "Volvo", "BMW"]; // Here cars[0] is "Toyota" } // Here cars[0] is "Saab"
آرایه اعلام شده با var
دامنه بلوک ندارد:
مثال
var cars = ["Saab", "Volvo", "BMW"]; // Here cars[0] is "Saab" { var cars = ["Toyota", "Volvo", "BMW"]; // Here cars[0] is "Toyota" } // Here cars[0] is "Toyota"
آرایه ها را دوباره اعلام کنید
اعلان مجدد آرایه اعلام شده با var
هر کجای برنامه مجاز است:
مثال
var cars = ["Volvo", "BMW"]; // Allowed var cars = ["Toyota", "BMW"]; // Allowed cars = ["Volvo", "Saab"]; // Allowed
تغییر مجدد یا اختصاص مجدد آرایه به const
همان محدوده یا در همان بلوک مجاز نیست:
مثال
var cars = ["Volvo", "BMW"]; // Allowed const cars = ["Volvo", "BMW"]; // Not allowed { var cars = ["Volvo", "BMW"]; // Allowed const cars = ["Volvo", "BMW"]; // Not allowed }
تغییر مجدد یا تعیین مجدد const
آرایه موجود ، در همان محدوده یا در همان بلوک ، مجاز نیست:
مثال
const cars = ["Volvo", "BMW"]; // Allowed const cars = ["Volvo", "BMW"]; // Not allowed var cars = ["Volvo", "BMW"]; // Not allowed cars = ["Volvo", "BMW"]; // Not allowed { const cars = ["Volvo", "BMW"]; // Allowed const cars = ["Volvo", "BMW"]; // Not allowed var cars = ["Volvo", "BMW"]; // Not allowed cars = ["Volvo", "BMW"]; // Not allowed }
اعلان مجدد آرایه با const
یک دامنه دیگر یا یک بلوک دیگر مجاز است:
مثال
const cars = ["Volvo", "BMW"]; // Allowed { const cars = ["Volvo", "BMW"]; // Allowed } { const cars = ["Volvo", "BMW"]; // Allowed }