Perbedaan var dan let javascript

A hanya memberi tahu komputer bahwa ada variabel dan nilai apa yang harus dimulainya. Mirip dengan bahasa pemrograman lainnya, JavaScript juga memungkinkan untuk mendeklarasikan variabel.

Ada tiga kata kunci dalam JavaScript yang dapat digunakan untuk mendeklarasikan variabel: let, var, dan const. Setiap kata kunci memiliki aturan dan implikasi yang berbeda tentang bagaimana variabel yang mereka buat dapat digunakan.
let: Kata kunci let mendeklarasikan variabel lokal cakupan blok, secara opsional menginisialisasinya ke nilai.
Block-scoped berarti variabel hanya tersedia di dalam blok itu dideklarasikan, yang biasanya dilambangkan dengan kurung kurawal {}. var: Kata kunci var mendeklarasikan variabel lingkup fungsi atau variabel global, secara opsional menginisialisasinya ke nilai.
Function-scoped berarti bahwa variabel hanya tersedia dalam fungsi yang dideklarasikan. Variabel global tersedia di seluruh kode Anda. const: Kata kunci const mendeklarasikan variabel konstanta lingkup blok yang tidak dapat diubah, yaitu variabel yang tidak dapat dipindahkan.
Constants juga disebut “variabel yang tidak dapat diubah”, tetapi itu agak keliru karena sebenarnya variabel – hanya variabel yang tidak dapat ditugaskan kembali. Apa perbedaan antara var, let dan const?

Kata kunci var adalah cara tertua untuk mendeklarasikan variabel dalam JavaScript dan didukung oleh semua browser. Kata kunci let dan const adalah tambahan baru untuk bahasa tersebut dan tidak didukung oleh browser lama.

Jika Anda perlu mendukung browser lama, Anda dapat menggunakan var alih-alih let atau const. Jika Anda tidak perlu mendukung browser lama, Anda dapat menggunakan let atau const. Jika Anda ingin variabel Anda tidak dapat diubah, gunakan const.

Berikut beberapa contohnya:

var x = 1; misalkan y = 2; konstanta z = 3; x = 4; //Oke y = 5; //Oke z = 6; //Error1234567var x = 1;biarkan y = 2;const z = 3; x = 4; //Oke y = 5; //Oke z = 6; //Error

Seperti yang Anda lihat, variabel var dan let dapat dipindahkan, tetapi variabel const tidak bisa.

Perbedaan lain antara var dan let/const adalah bahwa variabel var memiliki cakupan fungsi, sedangkan variabel let dan const memiliki cakupan blok.

Ini artinya bahwa variabel var hanya tersedia dalam fungsi tempat mereka dideklarasikan. Misalnya:

function foo() { var x = 1; } fo(); console.log(x); // ReferenceError: x tidak didefinisikan123456function foo() {  var x = 1;} foo();console.log(x); // ReferenceError: x tidak didefinisikan

Sebaliknya, variabel let dan const hanya tersedia di dalam blok tempat mereka dideklarasikan. Contoh:

function foo() { let y = 2; konstanta z = 3; } fo(); console.log(y); // ReferenceError: y tidak didefinisikan console.log(z); // ReferenceError: z tidak didefinisikan12345678fungsi foo() {  biarkan y = 2; const z = 3;} foo();console.log(y); // ReferenceError: y tidak didefinisikan console.log(z); // ReferenceError: z is notdefined

Javascript ES6 – Kali ini MID Teknologi akan membahas tentang let dan const yaitu variable baru pada javascript dan apa sih perbedaannya dengan var? ES6 atau ES 2015 datang dengan segudang fitur, salah satunya adalah let dan const yang akan menjadi the next var yang digunakan sebagai deklarasi variable di javascript.

pada kesempatan kali ini kita akan membahas tentang use (keguaannya),scoop (ruang lingkupnya) dan hoisting(pengangkatan).

Perbedaan var dan let javascript

secara garis besar perbedaan var let const pada javascript adalah:

  • var bersifat global,dapat di ubah dimana pun. memiliki sifat hoisting dan dapat di deklarasikan ulang dimana pun.
  • let bersifat scoop area, dapat di ubah. tidak dapat di deklarasikan ulang.
  • const bersifat scoop area, immutable (tidak dapat dirubah), tidak dapat di deklarasikan ulang. biasa digunakan untuk object.

sekarang mari kita bahas penjelasan lebih detailnya.

Kelemahan Var dalam Javascript

Problem 1:Penggunaanya

Dalam penggunaan var kita bisa mendeklarasikan satu variable yang sama berulang ulang, yang terkadang membuat bingung si developernya sendiri, contoh

var hello = "selamat datang";
hello = "hallo bro";

console.log(hello)//=>"hallo bro"

var hello2 = "selamat datang";
var hello2 = "hallo bro";

console.log(hello2)//=>"hallo bro"

dalam bahasa pemrograman lain jika kamu menulis sesuatu seperti diatas maka akan terjadi error.

namun di javascript tidak, justru hal tersebut sama halnya dengan memberi nilai ulang terhadap suatu variable.

Problem 2: Hoisting / pengangkatan

dalam penggunaan var dalam javascript pertama kali yang dijalankan di dalam sistem adalah mencari pendeklarasian variable di seluruh block kode terlebih dahulu.

setelah itu baru memberi nilai ke dalam variable tersebut, Contoh:

var x = 0;
x = 1

console.log(x) //=>1
y = 0
var y = 1

console.log(y)//=>1

jika anda jalankan blok kode diatas tidak akan terjadi error, kenapa,?padahal variable y diberi nilai terlebih dahulu sebelum di deklarasi?

itu karena hal yang saya bilang sebelumnya, yaitu javascript akan mencari seluruh deklarasi variable di dalam blok kode tsb lalu mencari nilainya.

tentu saja hal ini tidak bagus, karena bisa membuat bingung si pembuatnya sendiri.

Problem 3:Scoop / ruang lingkup

dalam javascript kode yang berada di antara kurung kurawal “{}” seperti if,else,for,while.dsb harusnya memiliki scoop tersendiri.

jadi jika kita mendeklarasikan sebuah variable maka variable tersebut akan bersifat private.

namun hal tsb tidak berlaku di dalam javascript, yang akan dicontohkan dibawah.

var data = 1;
var x = True;
if(x){
   var data = 3;// variable ini harusnya menjadi variable tersendiri
}
console.log(data)//=>3

jadi pada saat kita mendeklarasi variable di dalam {} maka variable diluarnya akan diberi nilai ulang (reassign)

Problem 4: Global Variable

dahulu sebelum ES6 keluar jika kita memberi nilai terhadap suatu variable dan variable tersebut tidak di deklarasikan maka variable tersebut akan bersifat global, Contohnya

(function(){
  c=3
})()
console.log(c)//=> 3

tentunya hal tsb sangat mengganggu, karena bisa merusak blok kode lain, hal ini terjadi karena sifat hoisting javascript yang sudak dijelaskan sebelumnya.

LET

Let hadir sebagai penyempurnaan dari var dalam segi scoop,use dan hoisting

sebelumnya jika kita mendeklarasikan suatu variable di dalam kurung kurawal “{}” maka variable tersebut akan menjadi global variable.

dan tentunya kita tidak ingin itu terjadi, akan saya jelaskan dengan blok kode dibawah

let data = 1;
let x = True;
if(x){
   let data = 3;
   console.log(data);//=>3
}
console.log(data);//=>1

dilihat dari blok kode diatas variable data sama sekali tidak terpengaruh dengan deklarasi variable yang sama di dalam if

jadi pada saat kita memanggilnya di dalam dal luar {} maka hasilnya akan berbeda.kenapa?

itu karena keduanya dianggap sebagai variable yang berbeda, hal itulah yang membuat let lebih baik dibanding var. jadi kita tidak perlu mendeklarasikan nama variable baru di dalam scoop yang berbeda.

Let tidak dapat di deklarasikan ulang

sama seperti var, let juga dapat di beri nilai ulang di dalam scoop yang sama, namun let tidak bisa di deklarasi ulang. Contoh

//let bisa diberi nilai ulang
let data = 1;
data = 2;
console.log(data)//=>2

//let tidak bisa di deklarasikan ulang
let data2 = 1;
let data2 = 2;//=> TypeError: Duplicate declaration "data2"

Const

Const atau konstanta adalah sebiah variable yang memiliki nilai tetap, alias tidak dapat di ubah.

const data = 110;
data = 111;//=> TypeError: Assignment to constant variable.

tapi dalam penggunaanya sendiri const lebih sering digunakan untuk mendeklarasikan suatu object/array.

Const sebagai object

sifat imutable const tidak berlaku lagi jika const digunakan sebagai object, dengan kata lain kita bisa merubah isinya selama masih di dalam scoopnya.

const greeting = {
        message : "say Hi",
        times : 4
    }
greeting.message = "hello world";
console.log(greeting.message)//=>"hello world"

dalam penggunaanya kita juga bisa mendeklarasikan const sebagai object kosong dan memberi nilainya di baris berikutnya, selama masih satu scoop

const greeting = {}
greeting.number = 1;
greeting.name = "rifaldy";

sekian tutorial tentang perbedaan var,let dan const pada javascript ES6 selengkapnya kamu bisa baca di dev.to.

kamu juga bisa membaca tutorial lainnya tentang java script disini dan tentang react disini.

jika kamu memiliki pertanyaan silahkan tulis di kolom komentar, terimakasih.

Disclosure: I may receive affiliate compensation for some of the links below at no cost to you if you decide to purchase a paid plan. This site is not intending to provide financial advice. This is for entertainment only.

Perbedaan var dan let javascript

ADINATA

Adinata is a tech expert and content creator experience more than 5 years on networking, coding and managed cloud vps server

Apa itu VAR dalam javascript?

Variable adalah temporal data yang disimpan dalam sebuah memory komputer. Oleh karenanya, ketika kita menentukkan nama sebuah variable dan menyimpan nilai (data) dalam variabel tersebut, kita pun bisa merubah datanya dengan data lain sesuai keinginan dalam waktu yang berbeda.

Apa fungsi Let?

Fungsi LET menetapkan nama ke hasil perhitungan. Ini memungkinkan menyimpan perhitungan menengah, nilai, atau menetapkan nama di dalam rumus. Nama ini hanya berlaku di dalam lingkup LET fungsi. Mirip dengan variabel dalam pemrograman, LET dilakukan melalui Excel rumus asli Anda.

Apa itu const dalam javascript?

Nah, const di javascript artinya tidak boleh melakukan assignment ulang terhadap variable yang sama, tapiii, boleh melakukan mutasi pada value variable tersebut, misalkan variable tersebut value nya berupa object atau array.

Apa itu const dalam react?

Const atau konstanta adalah sebiah variable yang memiliki nilai tetap, alias tidak dapat di ubah.