JavaScript Const

ECMAScript 2015

ES2015 introduced two important new JavaScript keywords:let and const.

Yoluyla const defined let Variables defined are similar to

Örnek

const PI = 3.141592653589793;
PI = 3.14;      // This will cause an error
PI = PI + 10;   // This will also cause an error

Kişisel olarak deneyin

block scope

inblock scopeused inside const The declared variable is similar to let Variables are similar.

In this example, x is declared in the block, different from x declared outside the block:

Örnek

var x = 10;
// Here, x is 10
{ 
  const x = 6;
  // Here, x is 6
}
// Here, x is 10

Kişisel olarak deneyin

You can see in the previous chapter JavaScript Let Learn more about block scope in middle school.

at the time of declaration

JavaScript const Variables must be assigned a value at the time of declaration:

Incorrect

const PI;
PI = 3.14159265359;

Correct

const PI = 3.14159265359;

Not a true constant

Keyword const It is somewhat misleading.

It does not define a constant value. It defines a constant reference to a value.

Therefore, we cannot change the original value of a constant, but we can change the properties of the constant object.

Original value

If we assign an original value to a constant, we cannot change the original value:

Örnek

const PI = 3.141592653589793;
PI = 3.14;      // This will cause an error
PI = PI + 10;   // This will also cause an error

Kişisel olarak deneyin

Constant objects can be changed

You can change the properties of a constant object:

Örnek

// You can create const objects:
const car = {type:"porsche", model:"911", color:"Black"};
// You can change properties:
car.color = "White";
// Ekleyebilirsiniz:
car.owner = "Bill";

Kişisel olarak deneyin

Ancak sınırlı bir şekilde, sabit nesneye yeniden atama yapamazsınız:

Örnek

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

Kişisel olarak deneyin

Sabit dizi değiştirilebilir

Sabit dizi öğelerini değiştirebilirsiniz:

Örnek

// Sabit dizi oluşturabilirsiniz:
const cars = ["Audi", "BMW", "porsche"];
// Değiştirebilirsiniz:
cars[0] = "Honda";
// Ekleyebilirsiniz:
cars.push("Volvo");

Kişisel olarak deneyin

Ancak sınırlı bir şekilde, sabit diziye yeniden atama yapamazsınız:

Örnek

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

Kişisel olarak deneyin

Tarayıcı desteği

Internet Explorer 10 veya daha eski sürümler desteklememektedir const Anahtar kelime.

Aşağıdaki tablo, ilk tamamen const anahtar kelimesini destekleyen tarayıcı sürümlerini tanımlar:

Chrome 49 IE / Edge 11 Firefox 36 Safari 10 Opera 36
2016 Mart 2013 Ekim 2015 Şubat 2016 Eylül 2016 Mart

yeniden tanımlama

Programın her yerinde JavaScript yeniden tanımlama izin verilir var değişken:

Örnek

var x = 2;    // İzinsiz
var x = 3;    // İzinsiz
x = 4;        // İzinsiz

Aynı etki alanı veya blokta, mevcut var veya let değişken yeniden tanımlama veya yeniden atama: const:

Örnek

var x = 2;         // İzinsiz
const x = 2;       // İzinsiz
{
  let x = 2;     // İzinsiz
  const x = 2;   // İzinsiz
}

Aynı etki alanı veya blokta, mevcut const değişkeni yeniden tanımlamak veya atamak izinsizdir:

Örnek

const x = 2;       // İzin verilir
const x = 3;       // İzinsiz
x = 3;             // İzinsiz
var x = 3;         // İzinsiz
let x = 3;         // İzinsiz
{
  const x = 2;   // İzin verilir
  const x = 3;   // İzin verilmez
  x = 3;         // İzin verilmez
  var x = 3;     // İzin verilmez
  let x = 3;     // İzin verilmez
}

Başka bir etki alanı veya blokta yeniden tanımlanır const İzin verilir:

Örnek

const x = 2;       // İzin verilir
{
  const x = 3;   // İzin verilir
}
{
  const x = 4;   // İzin verilir
}

Yükseltme

Yoluyla var Tanımlanan değişkenlerYükseltmeEn üst düzeye yükseltme (Hoisting) nedir bilmiyorsanız, bu bölümü öğrenin.

var değişkenlerini tanımlamadan önce kullanabilirsiniz:

Örnek

carName = "Volvo";    // Burada carName kullanabilirsiniz
var carName;

Kişisel olarak deneyin

Yoluyla const Tanımlanan değişkenler, en üst düzeye yükseltilemez.

const Değişkenler, tanımlanmadan önce kullanılamaz:

Örnek

carName = "Volvo";    // Burada carName kullanamazsınız
const carName = "Volvo";