DEV Community

loading...
Cover image for JavaScript : Variable Decralations

JavaScript : Variable Decralations

Aldi Pranata
・2 min read

I will explain as simple as I can — hopefully… 🐣🐣🐣

1. var

Variable dapat dianalogikan ibarat sebuah kotak pada memori komputer tempat dimana kita dapat menyimpan suatu nilai. Jika ingin menggunakan hasil dari ekspresi yang akan dievaluasi kemudian, dapat kita simpan di dalam sebuah variable.

// 👈 this is comment syntax -- for human,
// machine ignores comment.
var spam = 42; // assign variable

console.log(spam);  // 42
Enter fullscreen mode Exit fullscreen mode

Anggap sebuah variable sebagai kotak berlabel dimana suatu nilai ditempatkan.

Ketika nilai baru diberikan atau reassigned pada sebuah variable, nilai sebelumnya dilupakan.

var spam = 'Hello'
console.log(spam) // 'Hello'

//   assign new value
var spam = 'Goodbye'

console.log(spam) // 'Goodbye'
Enter fullscreen mode Exit fullscreen mode

Old School JavaScript

Penjabaran sebelumnya adalah penjelasan umum tentang variable dalam berbagai bahasa pemograman. Sebelum ES6 atau EcmaScript2015, JavaScript hanya memiliki sebuah assignment untuk variable, yakni var, dimana scope-nya bersifat global.

// old school JavaScript
var spam = 42

{ 👈 // block-scope

  // inside block-scope
  console.log(spam) // 42
  var spam = 10
}

// outside
console.log(spam) // 10

spam = spam * 2

// changed
console.log(spam) // 20
Enter fullscreen mode Exit fullscreen mode

Barulah kemudian edisi ES6 diperkenalkan let dan const.

2. let

Perbedaan antara var dengan let terletak pada block-scope.

// modern JavaScript
let spam = 42

{
  // inside block-scope
  console.log(spam) // 🔴 error
  let spam = 10 // reassigned inside block
}

// outside
console.log(spam) // 42 -- still

spam = spam * 2

// changed
console.log(spam) // 84
Enter fullscreen mode Exit fullscreen mode

3. const

const mengikuti aturan scope yang sama, tetapi nilai atau value-nya tidak dapat di ubah / reassigned. Sebab itu ia dinamakan const — akronim dari kata constant.

// modern JavaScript
const spam = 42

spam = spam * 2 // 🔴 error

// can not changed
console.log(spam) // doesn't get here
Enter fullscreen mode Exit fullscreen mode

Deklarasi const bersifat read-only, namun tidak berarti nilainya bersifat kekal / immutable. Contohnya pada kondisi dimana nilai sebuah variable adalah array atau object, nilai const dapat diubah.

const is tricky with arrays and objects. The reference becomes constant, but the value DOES NOT!

Dalam lingkungan React, var sangat jarang dan bahkan tidak disarankan untuk digunakan. Umumnya, para developer lebih sering menggunakan const — dan let hanya pada conditional statement.

Discussion (0)