Const در JavaScript
- صفحه قبلی JS Let
- صفحه بعدی عناصر محاسباتی JS
ECMAScript 2015
ES2015 دو کلیدواژه مهم جدید JavaScript را معرفی کرده است:let
و const
.
از طریق const
متغیرهایی که تعریف شدهاند با let
متغیرهایی که تعریف شدهاند مشابه هستند، اما نمیتوانند دوباره مقداردهی شوند:
مثال
const PI = 3.141592653589793; PI = 3.14; // اشتباه خواهد بود PI = PI + 10; // نیز اشتباه خواهد بود
زون بلوک
درزون بلوکاستفاده میشوند const
در let
متغیرهای تعریف شده با
متغیرها مشابه هستند.
مثال
در این مثال، x در بلوک تعریف شده است، که با x تعریف شده در بیرون از بلوک متفاوت است: // در اینجا، x برابر با 6 است { var x = 10; const x = 6; } // در اینجا، x برابر با 6 است
// در اینجا، x برابر با 10 است Let در JavaScript در این فصل، شما بیشتر درباره حوزههای بلوک یاد خواهید گرفت.
در زمان تعریف
JavaScript const
متغیر باید در زمان تعریف آن مقدار گیرد:
اشتباه است
const PI; PI = 3.14159265359;
درست است
const PI = 3.14159265359;
این مقدار ثابت واقعی نیست
کلیدواژه const
یک اشتباه قوی است.
این مقدار ثابت تعریف نشده است. این یک مرجع ثابت به مقدار است.
بنابراین، نمیتوانیم مقدار اولیه مقدار ثابت را تغییر دهیم، اما میتوانیم ویژگیهای شیء مقدار ثابت را تغییر دهیم.
مقدار اولیه
اگر یک مقدار اولیه را به مقدار ثابت اختصاص دهیم، نمیتوانیم مقدار اولیه را تغییر دهیم:
مثال
const PI = 3.141592653589793; PI = 3.14; // اشتباه خواهد بود PI = PI + 10; // نیز اشتباه خواهد بود
شیء مقدار ثابت میتواند تغییر کند
شما میتوانید ویژگیهای شیء مقدار ثابت را تغییر دهید:
مثال
// شما میتوانید یک شیء const ایجاد کنید: const car = {type:"porsche", model:"911", color:"Black"}; // شما میتوانید ویژگیها را تغییر دهید: car.color = "White"; // میتوانید ویژگیها را اضافه کنید: car.owner = "Bill";
اما نمیتوانید یک شیء متغیر را دوباره تخصیص دهید:
مثال
const car = {type:"porsche", model:"911", color:"Black"}; car = {type:"Volvo", model:"XC60", color:"White"}; // ERROR
آرایههای متغیر میتوانند تغییر کنند
میتوانید عناصر آرایه متغیر را تغییر دهید:
مثال
// میتوانید یک آرایه متغیر ایجاد کنید: const cars = ["Audi", "BMW", "porsche"]; // میتوانید عناصر را تغییر دهید: cars[0] = "Honda"; // میتوانید عناصر را اضافه کنید: cars.push("Volvo");
اما نمیتوانید یک آرایه متغیر را دوباره تخصیص دهید:
مثال
const cars = ["Audi", "BMW", "porsche"]; cars = ["Honda", "Toyota", "Volvo"]; // ERROR
پشتیبانی مرورگر
Internet Explorer 10 و نسخههای پیشین پشتیبانی نمیکنند const
واژههای کلیدی.
جدول زیر نسخههای اولین مرورگرهایی که کلید const را کامل پشتیبانی میکنند را تعریف میکند:
Chrome 49 | IE / Edge 11 | Firefox 36 | Safari 10 | Opera 36 |
مارس 2016 | october 2013 | فوریه 2015 | سپتامبر 2016 | مارس 2016 |
دوباره تعریف
در هر نقطه از برنامه مجاز است که JavaScript را دوباره تعریف کنید var
متغیر:
مثال
var x = 2; // مجاز است var x = 3; // مجاز است x = 4; // مجاز است
در یک محدوده یا بلوک خاص، مجاز نیست که یک متغیر موجود را دوباره تعریف کنید: var
یا let
دوباره تعریف یا تخصیص مجدد به const
:
مثال
var x = 2; // مجاز است const x = 2; // نه مجاز است { let x = 2; // مجاز است const x = 2; // نه مجاز است }
در یک محدوده یا بلوک خاص، مجاز نیست که یک متغیر const را دوباره تعریف یا تخصیص دهید:
مثال
const x = 2; // مجاز const x = 3; // نه مجاز است x = 3; // نه مجاز است var x = 3; // نه مجاز است let x = 3; // نه مجاز است { const x = 2; // مجاز const x = 3; // مجاز نیست x = 3; // مجاز نیست var x = 3; // مجاز نیست let x = 3; // مجاز نیست }
در محدوده یا بلوک دیگری مجدداً تعریف شوند const
این مجاز است:
مثال
const x = 2; // مجاز { const x = 3; // مجاز } { const x = 4; // مجاز }
برداشت
از طریق var
متغیرهای تعریف شدهبرداشتبه بالا. اگر با مفهوم برده شدن (Hoisting) آشنا نیستید، این فصل را مطالعه کنید.
شما میتوانید از متغیر var قبل از تعریف از آن استفاده کنید:
مثال
carName = "Volvo"; // شما میتوانید در اینجا از carName استفاده کنید var carName;
از طریق const
متغیرهای تعریف شده به بالا برده نمیشوند.
const
متغیرها نمیتوانند قبل از تعریف از خود استفاده کنند:
مثال
carName = "Volvo"; // شما نمیتوانید در اینجا از carName استفاده کنید const carName = "Volvo";
- صفحه قبلی JS Let
- صفحه بعدی عناصر محاسباتی JS