JavaScript let Vs var (dengan Contoh)

Dalam tutorial ini, Anda akan belajar tentang perbedaan antara let dan var di JavaScript dengan bantuan contoh.

Dalam JavaScript, baik kata kunci varmaupun letdigunakan untuk mendeklarasikan variabel.

Kata letkunci diperkenalkan di versi JavaScript yang lebih baru yang dikenal sebagai ES6 (ES2015) . Dan itu cara yang disukai untuk mendeklarasikan variabel.

JavaScript biarkan Vs var

Berikut ringkasan perbedaan antara letdan var.

membiarkan var
let memiliki cakupan blok. var memiliki cakupan fungsi.
biarkan tidak memungkinkan untuk mendeklarasikan ulang variabel. var memungkinkan untuk mendeklarasikan ulang variabel.
Mengangkat tidak terjadi di biarkan. Mengangkat terjadi di var.

JavaScript biarkan Vs var di Lingkup Lokal

var memiliki cakupan fungsi

Variabel yang dideklarasikan di dalam fungsi dengan vardapat digunakan di mana saja di dalam fungsi. Sebagai contoh,

 // program to print text // variable a cannot be used here function greet() ( // variable a can be used here var a = 'hello'; console.log(a); ) // variable a cannot be used here greet(); // hello

Dalam program di atas, variabel a dideklarasikan dengan var. Variabel a dapat digunakan di mana saja di dalam fungsi greet.

let memiliki cakupan blok

Variabel yang dideklarasikan dengan lethanya dapat diakses di dalam blok kode. Sebagai contoh,

 // program to print the text // variable a cannot be used here function greet() ( let a = 'hello'; // variable b cannot be used here if(a == 'hello')( // variable b can be used here let b = 'world'; console.log(a + ' ' + b); ) // variable b cannot be used here console.log(a + ' ' + b); // error ) // variable a cannot be used here greet();

Keluaran

 hello world Uncaught ReferenceError: b tidak ditentukan

Dalam program di atas, variabel a dideklarasikan di dalam fungsi dan dapat diakses di mana saja di dalam fungsi (a menjadi cakupan fungsi).

Namun variabel b dideklarasikan di dalam ifpernyataan blok. b akan memiliki cakupan blok dan hanya dapat diakses di dalam ifblok.

Karenanya ketika Anda mencoba mengakses b di luar ifblok, terjadi kesalahan (seperti yang ditunjukkan di atas dalam program).

Catatan : Variabel yang dideklarasikan di dalam fungsi akan menjadi cakupan fungsi untuk vardan let.

biarkan tidak memungkinkan untuk menyatakan kembali Variabel

1. Variabel yang dideklarasikan dengan vardapat dideklarasikan ulang lagi. Sebagai contoh,

 var a = 5; // 5 var a = 3; // 3

Variabel yang dideklarasikan dengan lettidak dapat dideklarasikan ulang dalam blok yang sama atau cakupan yang sama. Sebagai contoh,

 let a = 5; let a = 3; // error 

Keluaran

 SyntaxError Tidak Tertangkap: Pengenal 'a' telah dideklarasikan

2. Mendeklarasikan kembali variabel vardalam lingkup atau blok yang berbeda juga mengubah nilai variabel luar. Sebagai contoh,

 var a = 5; console.log(a); // 5 ( var a = 3; console.log(a); // 3 ) console.log(a); // 3

Mendeklarasikan ulang variabel dengan letdalam cakupan atau blok yang berbeda memperlakukan variabel itu sebagai variabel yang berbeda. Dan nilai variabel di luar tidak berubah. Sebagai contoh,

 let a = 5; console.log(a); // 5 ( let a = 3; console.log(a); // 3 ) console.log(a); // 5

3. Ketika variabel dideklarasikan dengan vardigunakan dalam satu lingkaran, nilai variabel itu berubah. Sebagai contoh,

 var a = 2; for(var a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 3

Dalam program di atas, forloop mendeklarasikan kembali variabel a. Oleh karena itu nilai adiubah menjadi 3 di akhir.

Ketika variabel yang dideklarasikan dengan let digunakan dalam satu loop, nilai variabel tidak berubah. Sebagai contoh,

 let a = 2; for(let a = 0; a < 3; a++) ( console.log('hello'); ) console.log(a); // 2

Dalam program di atas, forloop memperlakukan variabel a sebagai variabel yang berbeda dari yang dideklarasikan di atas. Dan ruang lingkup variabel itu hanya di dalam forloop. Karenanya nilai variabel a tetap 2 di bagian akhir.

biarkan Tidak Mengizinkan Mengangkat

Variabel yang dideklarasikan dengan vardiangkat ke bagian atas cakupan program. Sebagai contoh,

 console.log(a); var a; // undefined (not an error)

Kata kunci lettidak memungkinkan pengangkatan. Sebagai contoh,

 console.log(a); let a; // Uncaught ReferenceError: a is not defined

Jika Anda ingin mempelajari lebih lanjut tentang hoisting, kunjungi JavaScript Hoisting.

let dan var Dukungan Browser

Sebagian besar peramban modern mendukung penggunaan let. Namun, beberapa browser tidak mendukung sepenuhnya let.

Untuk mempelajari lebih lanjut, kunjungi JavaScript biarkan dukungan browser.

Catatan : Dalam kasus cakupan global, keduanya vardan letakan berperilaku dengan cara yang sama. Sebagai contoh,

 var a = 5; // 5

Variabel a akan memiliki cakupan global dan dapat diakses di mana saja dalam program.

 let a = 5; // 5

Variabel a akan memiliki cakupan global dan dapat diakses di mana saja dalam program.

Artikel yang menarik...