Home » Javascript » JavaScript Const: Cara Membuat dan Codenya

JavaScript Const: Cara Membuat dan Codenya

by Catur Kurnia Sari
by Catur Kurnia Sari

ECMAScript 2015

ES2015 memperkenalkan dua kata kunci JavaScript baru yang penting: let dan const.

Variabel yang didefinisikan dengan const berperilaku seperti variabel let, kecuali variabel const tidak dapat ditetapkan kembali.

Contoh:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript const</h2>

<p>Anda tidak dapat mengubah nilai primitif.</p>
<p id="demo"></p>

<script>
try {
  const PI = 3.141592653589793;
  PI = 3.14;
}
catch (err) {
  document.getElementById("demo").innerHTML = err;
}
</script>

</body>
</html>

Lingkup Blok

Mendeklarasikan variabel dengan const mirip dengan let ketika menjadi Lingkup Blok.

X yang dideklarasikan di blok, dalam contoh ini, tidak sama dengan x yang dideklarasikan di luar blok.

Contoh:

<!DOCTYPE html>
<html>
<body>

<h2>Mendeklarasikan Variabel Menggunakan const</h2>
<p id="demo"></p>

<script>
var  x = 10;
// Here x is 10
{  
  const x = 2;
  // Here x is 2
}
// Here x is 10
document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>


Ditugaskan saat Dideklarasikan

Variabel const JavaScript harus diberi nilai ketika dideklarasikan, contoh:

Salah

const PI;
PI = 3.14159265359;

Benar

const PI = 3.14159265359;

Bukan Konstanta Nyata

Kata kunci const sedikit menyesatkan.

Kata kunci ini TIDAK mendefinisikan nilai konstan tetapi mendefinisikan referensi konstan ke sebuah nilai.

Karena itu, kita tidak dapat mengubah nilai primitif konstan, tetapi kita dapat mengubah properti objek konstan.

Nilai Primitif

Jika kita menetapkan nilai primitif ke sebuah konstanta, kita tidak dapat mengubah nilai primitif tersebut.

Contoh:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript const</h2>

<p> Anda tidak dapat mengubah nilai primitif. </p>
<p id="demo"></p>

<script>
try {
  const PI = 3.141592653589793;
  PI = 3.14;
}
catch (err) {
  document.getElementById("demo").innerHTML = err;
}
</script>

</body>
</html>

Objek Konstan dapat Berubah

Tetapi kita dapat mengubah properti objek konstan.

Contoh:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript const</h2>

<p> Mendeklarasikan objek konstan TIDAK membuat properti objek tidak bisa diubah: </p>
<p id="demo"></p>

<script>
// Create an object:
const car = {type:"Fiat", model:"500", color:"white"};

// Change a property:
car.color = "red";

// Add a property:
car.owner = "Johnson";

// Display the property:
document.getElementById("demo").innerHTML = "Car owner is " + car.owner; 
</script>

</body>
</html>

Tetapi Anda TIDAK dapat menetapkan ulang objek konstan.

Contoh:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript const</h2>

<p> Tapi Anda TIDAK dapat menetapkan ulang objek konstan: </p>
<p id="demo"></p>

<script>
try {
  const car = {type:"Fiat", model:"500", color:"white"};
  car = {type:"Volvo", model:"EX60", color:"red"};
}
catch (err) {
  document.getElementById("demo").innerHTML = err;
}
</script>

</body>
</html>

Array Konstanta dapat Berubah

Anda dapat mengubah elemen array konstanta.

Contoh:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript const</h2>

<p> Mendeklarasikan array konstan TIDAK membuat elemen tidak berubah: </p>
<p id="demo"></p>

<script>
// Create an Array:
const cars = ["Saab", "Volvo", "BMW"];

// Change an element:
cars[0] = "Toyota";

// Add an element:
cars.push("Audi");

// Display the Array:
document.getElementById("demo").innerHTML = cars; 
</script>

</body>
</html>

Tetapi Anda TIDAK dapat menetapkan ulang array konstan:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript const</h2>

<p> Anda TIDAK dapat menetapkan kembali array konstan: </p>
<p id="demo"></p>

<script>
try {
  const cars = ["Saab", "Volvo", "BMW"];
  cars = ["Toyota", "Volvo", "Audi"];
}
catch (err) {
  document.getElementById("demo").innerHTML = err;
}
</script>

</body>
</html>

Dukungan Browser

Kata kunci const tidak didukung di Internet Explorer 10 atau versi yang lebih lama.

Tabel berikut menjelaskan versi browser pertama dengan dukungan penuh untuk kata kunci const:

ChromeEgdeFirefoxSafariOpera
Chrome 49IE / Edge 11Firefox 36Safari 10Opera 36
Mar, 2016Oct, 2013Feb, 2015Sep, 2016Mar, 2016

Mendeklarasikan ulang

Mendeklarasikan ulang variabel JavaScript diperbolehkan di mana saja dalam program, contoh:

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

Mendeklarasikan ulang atau menetapkan ulang var yang ada atau membiarkan variabel menjadi const, dalam cakupan yang sama, atau dalam blok yang sama, tidak diperbolehkan. Contoh:

var x = 2;         // Allowed
const x = 2;       // Not allowed
{
  let x = 2;     // Allowed
  const x = 2;   // Not allowed
}

Mendeklarasikan ulang atau menetapkan ulang variabel const yang ada, dalam cakupan yang sama, atau dalam blok yang sama, tidak diperbolehkan. Contoh:

const x = 2;       // Allowed
const x = 3;       // Not allowed
x = 3;             // Not allowed
var x = 3;         // Not allowed
let x = 3;         // Not allowed

{
  const x = 2;   // Allowed
  const x = 3;   // Not allowed
  x = 3;         // Not allowed
  var x = 3;     // Not allowed
  let x = 3;     // Not allowed
}

Mendeklarasikan ulang variabel dengan const, di lingkup lain, atau di blok lain, diperbolehkan.

Contoh:

const x = 2;       // Allowed

{
  const x = 3;   // Allowed
}

{
  const x = 4;   // Allowed
}

Hoisting

Variabel yang ditentukan dengan var akan diangkat ke atas dan dapat diinisialisasi kapan saja (jika Anda tidak tahu apa itu Hoisting, baca Bab Hoisting tutorial pada web ini).

Artinya: Anda dapat menggunakan variabel sebelum dideklarasikan:

Contoh:

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Hoisting</h2>

<p> Dengan <b> var </b>, Anda dapat menggunakan variabel sebelum dideklarasikan: </p>
<p id="demo"></p>

<script>
carName = "Volvo";
document.getElementById("demo").innerHTML = carName;
var carName;
</script>

</body>
</html>

Variabel yang ditentukan dengan konstanta diangkat ke atas blok, tetapi tidak diinisialisasi.

Artinya: Blok kode mengetahui adanya variabel, tetapi tidak dapat digunakan sampai dideklarasikan.

Menggunakan variabel const sebelum dideklarasikan akan menghasilkan SyntaxError.

Variabel berada dalam “zona mati sementara” dari awal blok hingga dideklarasikan.

Contoh:
Ini akan menghasilkan SyntaxError

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Hoisting</h2>

<p> Dengan <b> const </b>, Anda tidak dapat menggunakan variabel sebelum dideklarasikan: </p>
<p id="demo"></p>

<script>
// Check the console, this next line will produce an error:
carName = "Volvo";
document.getElementById("demo").innerHTML = carName;
const carName;
</script>

</body>
</html>

You may also like