JavaScript Const
Kata const
kunci diperkenalkan di
ES6 (2015) .
Variabel yang didefinisikan dengan const
tidak dapat dideklarasikan ulang.
Variabel yang didefinisikan dengan const
tidak dapat ditugaskan kembali.
Variabel didefinisikan dengan const
memiliki Lingkup Blok.
Tidak Dapat Ditugaskan Kembali
Variabel const
tidak dapat dipindahkan:
Contoh
const PI = 3.141592653589793;
PI = 3.14; // This will give an error
PI = PI + 10; // This will also give an error
Harus Ditugaskan
Variabel JavaScript const
harus diberi nilai saat dideklarasikan:
Benar
const PI = 3.14159265359;
Salah
const PI;
PI = 3.14159265359;
Kapan menggunakan JavaScript const?
Sebagai aturan umum, selalu deklarasikan variabel dengan const
kecuali Anda tahu bahwa nilainya akan berubah.
Gunakan const
saat Anda mendeklarasikan:
- Array baru
- Objek baru
- Fungsi baru
- RegExp baru
Objek dan Array Konstan
Kata const
kuncinya sedikit menyesatkan.
Itu tidak menentukan nilai konstan. Ini mendefinisikan referensi konstan ke nilai.
Karena itu, Anda TIDAK BISA:
- Tetapkan kembali nilai konstan
- Tetapkan ulang array konstan
- Tetapkan kembali objek konstan
- Ubah elemen array konstan
- Ubah properti objek konstan
Tapi kamu bisa:
Array Konstan
Anda dapat mengubah elemen array konstan:
Contoh
// 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");
Tetapi Anda TIDAK dapat menetapkan ulang array:
Contoh
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR
Objek Konstan
Anda dapat mengubah properti objek konstan:
Contoh
// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};
// You can change a property:
car.color = "red";
// You can add a property:
car.owner = "Johnson";
Tetapi Anda TIDAK dapat menetapkan kembali objek:
Contoh
const car = {type:"Fiat", model:"500", color:"white"};
car = {type:"Volvo", model:"EX60", color:"red"}; //
ERROR
Dukungan Peramban
Kata const
kunci tidak didukung di Internet Explorer 10 atau yang lebih lama.
Tabel berikut mendefinisikan versi browser pertama dengan dukungan penuh untuk const
kata kunci:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
Lingkup Blok
Mendeklarasikan variabel dengan const
mirip dengan let
ketika datang ke Block Scope .
X yang dideklarasikan di dalam blok, dalam contoh ini, tidak sama dengan x yang dideklarasikan di luar blok:
Contoh
const x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
Anda dapat mempelajari lebih lanjut tentang cakupan blok di bab Lingkup JavaScript .
Mendeklarasikan ulang
Mendeklarasikan ulang variabel JavaScript var
diperbolehkan di mana saja dalam suatu program:
Contoh
var x = 2; // Allowed
var x = 3; // Allowed
x = 4; // Allowed
Mendeklarasikan ulang
variabel var
atau yang sudah ada ke , dalam cakupan yang sama, tidak diizinkan:let
const
Contoh
var x = 2; // Allowed
const x = 2; // Not allowed
{
let x = 2; // Allowed
const x = 2; // Not allowed
}
{
const x = 2; // Allowed
const x = 2; // Not allowed
}
Menugaskan kembali const
variabel yang ada, dalam cakupan yang sama, tidak diperbolehkan:
Contoh
const x = 2; // Allowed
x = 2; // Not allowed
var x = 2; // Not allowed
let x = 2; // Not allowed
const x = 2; // Not allowed
{
const x = 2; // Allowed
x = 2;
// Not allowed
var x = 2;
// Not allowed
let x = 2;
// Not allowed
const x = 2; // Not allowed
}
Mendeklarasikan ulang variabel dengan const
, dalam lingkup lain, atau di blok lain, diperbolehkan:
Contoh
const x = 2; // Allowed
{
const x = 3; // Allowed
}
{
const x = 4; // Allowed
}
Pengangkatan Const
Variabel var
yang didefinisikan dengan diangkat ke atas dan dapat diinisialisasi kapan saja.
Artinya: Anda dapat menggunakan variabel sebelum dideklarasikan:
Contoh
Ini bagus:
carName = "Volvo";
var carName;
Jika Anda ingin mempelajari lebih lanjut tentang mengangkat, pelajari bab Mengangkat JavaScript .
Variabel yang didefinisikan dengan const
juga diangkat ke atas, tetapi tidak diinisialisasi.
Artinya: Menggunakan const
variabel sebelum dideklarasikan akan menghasilkan
ReferenceError
:
Contoh
alert (carName);
const carName = "Volvo";