Jika suatu variabel didefinisikan dengan keyword var, maka variabel tersebut akan terus ada setelah variabel tersebut dideklarasikan meskipun digunakan di luar blok kode dimana variabel tersebut didefinisikan
var x = 1;
console.log(x);
if (true)
{
var y = 2;
console.log("y value in if block: ", y);
}
console.log("y value out of if block: ", y);
Jika suatu variabel didefinisikan dengan keyword let, maka variabel tersebut hanya berlaku di dalam blok kode dimana variabel tersebut didefinisikan
if (true)
{
let z = 3;
console.log("z value in if block: ", z);
if (true)
{
console.log("z value in if if block: ", z);
}
}
console.log("z value out of if block: ", z);
Variabel yang didefinisikan dengan keyword let dapat diubah nilainya setelah dideklarasikan, sama seperti variabel yang didefinisikan dengan keyword var
let d = 9;
console.log("let before: ", d);
d = 11;
console.log("let after: ", d);
Sama seperti let, variabel yang didefinisikan dengan keyword const hanya berlaku di dalam blok kode dimana variabel tersebut didefinisikan
if (true)
{
const p = 3;
console.log("p value in if block: ", p);
if (true)
{
console.log("p value in if if block: ", p);
}
}
console.log("p value out of if block: ", p);
Variabel yang didefinisikan dengan keyword const tidak dapat diubah nilainya setelah dideklarasikan. Gunakan keyword ini saat mendefinisikan suatu variabel jika anda yakin bahwa nilai dari variabel tersebut tidak akan berubah. Ini akan berguna untuk membuat kode program menjadi lebih readable
const pi = 3.14; // pi merupakan salah satu konstanta dalam matematika
console.log("const pi before: ", pi);
pi = 0.2929;
console.log("const pi after: ", pi);
Dengan keyword const, suatu variabel akan bersifat "Immutable", yaitu nilai dari suatu variabel tersebut tidak dapat diubah. Namun diberi tanda kutip karena variabel tersebut tidak immutable seutuhnya.
const obj = {job: "Machine Learning Engineer", description: "Lorem Ipsum"}; // variabel dengan tipe data json
console.log("obj before: ", obj);
obj.description = "Experienced in Python or R";
console.log("obj after: ", obj);
JSON (akan dipelajari pada materi selanjutnya)
Variabel const dengan tipe data JSON masih dapat diubah propertinya. Agar suatu variabel benar-benar bersifat immutable, anda dapat menggunakan Immutable.js