lifelong learner — urip iku urup, currently working on accenture.

Javascript es6 let , const dan blocking pada looping

0
Degananda.com -

Mekanisme blocking

Let dan const

Pada ulasan ini kita akan membahas mengenai block level pada looping dengan memanfaatkan dua syntax baru pada es6 yakni let dan const. Kedua syntax(let dan const) tersebut memiliki fungsi yang sama yakni untuk mendefinisikan atau mendeklarasikan variable. Namun dengan karakteristik variable yang berbeda.

Let mendeklarasikan variable yang dinamis. Sedangkan const mendeklarasikan variable yang statis atau konstan. Kita tidak dapat memodifikasi nilai variable yang dideklarasikan dengan menggunakan const. Lalu apakah let dan var berbeda ? tentu saja mekanisme keaduannya sangat berbeda. Silahkan simak ulasan mengenai perbedaan let dan const dalam hal block level.

Contoh deklarasi variable const

Sejatinnya const dapat diartikan sebagai konstanta. Kita memberikan deklarasi konstan terhadap variaebel yang memang nantinnya digunakan menyimpan sesuatu yang konstan  dalam artian tidak akan berubah saat terjadi suatu komputasi. Contoh variable yang dapat kita deklarasikan dengan const adalah pi (bernilai default 3.14, konversi meter ke desimeter sebesar 10dm, konversi meter ke cm sebesar 100 cm, dan lain sebagainnya). Angka – angka diatas tidak akan berubah pada saat komputasi. Sangat tidak wajar jika mengubah nilai konversi meter ke desimeter misalkan sebesar 20dm (misalkan).

Mengenal blocking pada loop

Looping adalah proses perulangan yang bergantung pada suatu kondisi tertentu. Misalkan looping pada saat nilai A kurang dari 5 dengan nilai awal A sebesar 1 dan mengelami incremental sebanyak 1 tiap iterasi. Pada proses iterasi ini akan terjadi blocking pada variabel yang kita deklrasikan ataupun kita gunakan diluar fungsi looping. Ulasan ini akan membahas bagaimana mekanisme let dan const pada looping.

Mekanisme blocking var pada looping

Contohnya kita mendeklrasikan looping dengan menggunakan var.

for(var i = 1;i<=5;i++){
    console.log(i);
}   

untuk melakukan pengujian blocking maka kita coba panggil variabel tersebut diluar dan didalam looping.

for(var i = 1;i<=5;i++){
    if(i == 5){
        console.log("didalam looping : " + i)
    }
}   
console.log("diluar looping" + i);

Maka hasilnya adalah seperti ini.

Sehingga dapat kita simpulkan mekanisme blocking var pada looping adalah sebagai berikut

  1. variable yang dideklrasikan dengan var didalam looping akan terdefinisi.
  2. variable yang dideklrasikan dengan var dan dipanggil diluar proses looping masih tetap terdefinisi. Artinnya blocking tidak berjalan. Var dapat dipanggil secara global didalam class tersebut

lalu bagaimana dengan let ?

Mekanisme blocking let pada looping

Kali ini kita akan menguji coba mekanisme blocking yang terjadi saat mendeklrasikan variable dengan menggunakan let. Perlu di ingat bahwa let digunakan untuk mendeklrasikan variable yang dinamis sedangkan const untuk keperluan konstan. Berikut adalah percobaan looping dengan menggunakan let

for(let i = 1;i<=5;i++){
    console.log(i);
}   

proses looping terjadi layaknya kita mendeklrasikan variable dengan var untuk looping seperti contoh sebelumnya (mekanisme blocking dengan var pada looping).

lalu bagaimana jika kita mengujinnya dengan menampilkan atau memanggil variable yang dideklrasikan dengan menggunakan let tersebut didalam maupun diluar fungsi itu

for(let i = 1;i<=5;i++){
    if(i == 5){
        console.log("didalam looping : " + i)
    }
}   
console.log("diluar looping" + i);

Kode diatas jika dijalankan akan menghasilkan tampilan seperti dibawah ini

Maka dapat kita simpulkan terkait mekanisme penggunaan deklrasi variable dengan let pada proses looping sebagai berikut ini

  • variable yang dideklrasikan dengan let didalam looping akan terdefinisi.
  • variable yang dideklrasikan dengan let dan dipanggil diluar proses looping tidak definisi. Artinnya blocking berjalan.
  • MAKA variable yang dideklrasikan(untuk keperluan looping) dengan LET hanya akan dapat diakses pada proses looping tersebut.

Akses variable yang dideklerasikan dengan let & var diluar looping

Selanjutnya kita akan coba melakukan akses atau mencoba memanggil variable – variabel yang kita deklrasikan diluar looping dengan menggunakan var ataupun let. Kita akan panggil variabel tersebut didalam looping. Akankah keduannya dapat dipanggil atau hanya salah satu keduannya yang bisa diakses.

Berikut ini adalah kode looping yang digunakan untuk melakukan percobaan diatas

var a = 'dega';
let b = 'nanda';
for(let i = 1;i<=5;i++){
    if(i == 5){
        console.log(a);
        console.log(b);
    }
}
console.log('-----separator----');
for(var i = 1;i<=5;i++){
    if(i == 5){
        console.log(a);
        console.log(b);
    }
}   

kode diatas jika dieksekusi maka akan menghasilkan tampilan sebagai berikut ini

dari hasil percobaan diatas dapat kita simpulkan bahwa

  1. Variabel yang kita deklerasikan baik dengan menggunakan var ataupun let dapat diakses pada level looping. Ini artinnya kedua variabel diatas bersifat global didalam class tersebut.

Const variable untuk proses looping

Ini adalah bagian ahir dari eksperinmen kita. Jika pada bagian sebelum ini kita menggunakan var dan let untuk melakukan looping maka sekarang kita akan mencoba menggunakan const untuk melakukan looping. Berikut adalah kode yang digunakan untuk melakukan looping.

for(const i = 1;i<=5;i++){
    if(i == 5){
        console.log(a);
        console.log(b);
    }
}   

kode diatas akan menghasilkan tampilan seperti ini pada konsol

sehinggga berdasarkan hasil eksperiment diatas kita dapat menyimpulkan bahwa

  1. const tidak dapat dijadikan variable acuan dalam melakukan looping. Karena const adalah syntax untuk mendeklrasikan konstanta yang mana nilai dari variable tersebut tidak dapat berubah.

itulah mekanisme blocking let,var dan const pada proses looping semoga dapat memnberikan manfaat untuk kita semua.

terimakasih.