جاوا سکریپت کانست

ECMAScript 2015

ES2015 ਨੇ ਦੋ ਮਹੱਤਵਪੂਰਣ ਜਾਵਸਕ੍ਰਿਪਟ ਨਵੇਂ ਕੀਤੇ ਵਾਕ ਦਿੱਤੇ ਹਨ:let ਅਤੇ const

از طریق const ਨਿਰਧਾਰਿਤ ਵੈਰੀਬਲ let ਨਿਰਧਾਰਿਤ ਵੈਰੀਬਲ ਨਾਲ ਵਰਗਤ ਹੁੰਦੇ ਹਨ, ਪਰ ਮੁੜ-ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਕਰ ਨਹੀਂ ਸਕਦੇ:

مثال

const PI = 3.141592653589793;
PI = 3.14;      // ਗਲਤੀ ਹੋ ਸਕਦੀ ਹੈ
PI = PI + 10;   // ਵੀ ਗਲਤੀ ਹੋ ਸਕਦੀ ਹੈ

آزمایش کنید

ਬਲਾਕ ਅਧਾਰਿਤ ਰੈਂਜ

ਵਿੱਚਬਲਾਕ ਅਧਾਰਿਤ ਰੈਂਜਅੰਦਰ ਵਰਤਿਆ ਗਿਆ const ਘੋਸ਼ਿਤ ਵੈਰੀਬਲ let ਵੈਰੀਬਲ ਸਮਾਨ ਹਨ。

ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ, x ਬਲਾਕ ਵਿੱਚ ਘੋਸ਼ਿਤ ਹੈ, ਜੋ ਬਲਾਕ ਬਾਹਰ ਘੋਸ਼ਿਤ x ਨਾਲ ਅਲੱਗ ਹੈ:

مثال

var x = 10;
// ਇੱਥੇ, x ਦਾ ਮੁੱਲ 10 ਹੈ
{ 
  const x = 6;
  // ਇੱਥੇ, x ਦਾ ਮੁੱਲ 6 ਹੈ
}
// ਇੱਥੇ, x ਦਾ ਮੁੱਲ 10 ਹੈ

آزمایش کنید

ਪਿਛਲੇ ਖੰਡ ਵਿੱਚ جاوا سکریپت لیٹ ਇਸ ਵਿੱਚ ਮੌਕਾ ਮਿਲੇਗਾ ਕਿ ਤੁਸੀਂ ਬਲਾਕ ਅਧਾਰਿਤ ਮਹੱਤਵਪੂਰਣ ਗਿਆਨ ਸਿੱਖ ਸਕੋ

ਘੋਸ਼ਣਾ ਕਰਦੇ ਹੋਣ ਉੱਤੇ

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 关键词的浏览器版本:

ਚਰਾਮਸ 49 IE / Edge 11 ਫਾਇਰਫਾਕਸ 36 ਸਫਾਰੀ 10 ਓਪਰਾ 36
2016 ਸਾਲ 3 ਮਹੀਨੇ 2013 ਸਾਲ 10 ਮਹੀਨੇ 2015 ਸਾਲ 2 ਮਹੀਨੇ 2016 ਸਾਲ 9 ਮਹੀਨੇ 2016 ਸਾਲ 3 ਮਹੀਨੇ

重新声明

在程序中的任何位置都允许重新声明 JavaScript var 变量:

مثال

var x = 2;    //  ਮਨਜ਼ੂਰ
var x = 3;    //  ਮਨਜ਼ੂਰ
x = 4;        //  ਮਨਜ਼ੂਰ

在同一作用域或块中,不允许将已有的 varlet 变量重新声明或重新赋值给 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;   // مجاز
}

Hoisting

از طریق var متغیرهای تعریف شدهHoistingبه بالای کد بالا برده می‌شوند. اگر با مفهوم Hoisting آشنا نیستید، این فصل را مطالعه کنید.

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

مثال

carName = "Volvo";    // شما می‌توانید در اینجا از carName استفاده کنید
var carName;

آزمایش کنید

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

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

مثال

carName = "Volvo";    // شما نمی‌توانید در اینجا از carName استفاده کنید
const carName = "Volvo";