Const ya JavaScript

ECMAScript 2015:

ES2015 ilianzisha macho mbili ya kina-machache ya JavaScript:let na: const.:

Kwa msaada const Inatambulika kama: let Inatambulika kama:

Mifano

const PI = 3.141592653589793;
PI = 3.14;      // itakadai kosa:
PI = PI + 10;   // pia itakadai kosa:

Jifunze kwa msaada

ena eneo la kikataza:

ina:ena eneo la kikataza:inaendelea kwenye: const Inatambulika kama: let Mashabiki yana uhusiano:

Kwenye mivuno hii, x inatambulika kwenye eneo la kikataza, tofauti na x iliyotambulika kwenye nje ya kikataza:

Mifano

var x = 10;
// Kwenye hapa, x ina namba 10:
{ 
  const x = 6;
  // Kwenye hapa, x ina namba 6:
}
// Kwenye hapa, x ina namba 10:

Jifunze kwa msaada

Kwenye kituo hiki, x ina namba 10: Let ya JavaScript Unaongoza kueleza juu ya eneo la kina la kikataza:

Kwenye wakati wa utambulishaji:

JavaScript: const Inayotambulika kwa sababu ya uharibiki hauwezi kuharibika kwenye wakati wa utambulishaji:

Haiwezi kuingia:

const PI;
PI = 3.14159265359;

Ni sahihi:

const PI = 3.14159265359;

Haiwezi kuingia kama kina-mtambile:

Kina: const Inaelezea sana:

Haitaki thamani ya kina-const. Ikiwa na kina-const ya thamani:

Kwa hiyo, hatuwezi kuharibika thamani wa asili ya kina-const, lakini tunaweza kuharibika mashabiki ya kina-const.

Thamani wa asili:

Kama tunatoa thamani wa asili kwa kina-const, hatuwezi kuharibika thamani wa asili:

Mifano

const PI = 3.141592653589793;
PI = 3.14;      // itakadai kosa:
PI = PI + 10;   // pia itakadai kosa:

Jifunze kwa msaada

Kina-const inaweza kuharibika:

Unaweza kuharibika mashabiki ya kina-const:

Mifano

// Unaweza kumwambia kwa const kwa jina:
const car = {type:"porsche", model:"911", color:"Black"};
// Unaweza kuharibika mashabiki:
car.color = "White";
// Unaweza kuongeza maelezo:
car.owner = "Bill";

Jifunze kwa msaada

Kamwe hii, hatauna kusaidia kurekodia tena kwa kipya kwa kipya cha muhimu:

Mifano

const car = {type:"porsche", model:"911", color:"Black"};
car = {type:"Volvo", model:"XC60", color:"White"};    // KIPA

Jifunze kwa msaada

Kina ya muhimu yanaweza kubadilika

Unaweza kubadilika maelezo ya kina ya muhimu:

Mifano

// Unaweza kumaliza kina ya muhimu:
const cars = ["Audi", "BMW", "porsche"];
// Unaweza kubadilika maelezo:
cars[0] = "Honda";
// Unaweza kuongeza maelezo:
cars.push("Volvo");

Jifunze kwa msaada

Kamwe hii, hatauna kusaidia kurekodia tena kwa kipya kwa kina ya muhimu:

Mifano

const cars = ["Audi", "BMW", "porsche"];
cars = ["Honda", "Toyota", "Volvo"];    // KIPA

Jifunze kwa msaada

Mwongozo wa kusoma kwa vifaa vya kusoma vya intaneti

Internet Explorer 10 na vyenginevu vya zamani hawakubaliwa const Muhimu.

Tafaniki hii inadefina tabia za kwanza zilizoongezwa kwa muhimu wa const kwa vifaa vya kusoma vya intaneti:

Chrome 49 IE / Edge 11 Firefox 36 Safari 10 Opera 36
Mwezi wa Machi 2016 Mwezi wa Oktoba 2013 Mwezi wa Februari 2015 Mwezi wa Septemba 2016 Mwezi wa Machi 2016

Kurekodia tena

Kwenye viwango vyote vya programu vinavyotumika kurekodia tena JavaScript var muhimu:

Mifano

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

Kwenye eneo la muundo ama kikuu, hataru kurekodia tena kwa muhimu ya yaliyopo var au let Kurekodia kina au kurekodia tena kwa ujenzi const

Mifano

var x = 2;         // vinavyotumika
const x = 2;       // ialitishwa
{
  let x = 2;     // vinavyotumika
  const x = 2;   // ialitishwa
}

Kwenye eneo la muundo ama kikuu, kurekodia au kusaidia kwa muhimu wa const ialitishwa ni hataru:

Mifano

const x = 2;       // 允许
const x = 3;       // ialitishwa
x = 3;             // ialitishwa
var x = 3;         // ialitishwa
let x = 3;         // ialitishwa
{
  const x = 2;   // 允许
  const x = 3;   // 不允许
  x = 3;         // 不允许
  var x = 3;     // 不允许
  let x = 3;     // 不允许
}

在另外的作用域或块中重新声明 const 是允许的:

Mifano

const x = 2;       // 允许
{
  const x = 3;   // 允许
}
{
  const x = 4;   // 允许
}

提升

Kwa msaada var 定义的变量会被提升到顶端。如果您不了解什么是提升(Hoisting),请学习提升这一章。

Inaweza kutumia ingia var kabla ya kuanzishwa

Mifano

carName = "Volvo";    // Inaweza kutumia carName hapa
var carName;

Jifunze kwa msaada

Kwa msaada const Inaingia inayofikia kimo cha juu.

const Hivyo, ingia inayotumika kabla ya kuanzishwa hakuna uwezo wa kutumia

Mifano

carName = "Volvo";    // Huwezi kutumia carName hapa
const carName = "Volvo";