Home Top Ad

Memahami Perbedaan null dan undefined di JavaScript

Share:

ilustrasi :v

Sepintas null dan undefined terlihat sama, tapi sesungguhnya tidak sama sekali. Artikel ini akan membahas perbedaan dan kesamaan antara null dan undefined di JavaScript.

Apa itu null?

Ada dua hal tentang null yang harus pembaca tahu:
  • null artinya memiliki nilai kosong atau tidak ada.
  • null harus diganti (dengan nilai lain yang valid).
Berikut ini sebuah contoh. Kita memberikan nilai null ke variabel a:
let a = null;

console.log(a);
// null

Apa itu undefined?

Undefined secara umum berarti variabel tersebut sudah dideklarasi, tapi belum didefinisikan (belum diberi nilai).
let b;

console.log(b);
// undefined
Pembaca juga bisa secara eksplisit memberikan undefined pada sebuah variabel:
let c = undefined;

console.log(c);
// undefined
Terkahir, saat kita mencari properti objek JavaScript yang tidak ada, kita juga akan mendapat undefined:
var d = {};

console.log(d.fake);
// undefined

Kesamaan antara null dan undefined

Di JavaScript ada enam nilai yang bersifat false (falsy values). Baik null maupun undefined adalah salah dua dari keenam nilai tersebut. Berikut ini daftar lengkapnya:
  • false
  • 0 (zero)
  • “” (string kosong)
  • null
  • undefined
  • NaN (Not A Number)
Nilai lain selain keenam diatas akan bernilai true (truthy values).
Di JavaScript juga ada enam nilai primitif. Kedua tipe null dan undefinedmerupakan salah dua nilai primitif tersebut:
  • Boolean
  • Null
  • Undefined
  • Number
  • String
  • Symbol
Selain keenam nilai di atas, semua nilai di JavaScript adalah object (object, function, array, dsb.).
Yang menariknya, saat menggunakan typeof untuk memeriksa null, ia akan mengembalikan object:
let a = null;
let b;

console.log(typeof a);
// object

console.log(typeof b);
// undefined
Hal ini sudah terjadi sejak awal pengembangan JavaScript sehingga dianggap sebagai sebuah peninggalan kesalahan implementasi di JavaScript.

null !=== undefined

Seperti yang bisa pembaca lihat, null dan undefined itu berbeda, namun memiliki beberapa kesamaan. Oleh karena itu, tidak aneh jika null tidak sama dengan undefined jika diperiksa dengan !==:
null !== undefined 
Yang menari, saat diperiksa loose equality-nya, mereka memiliki nilai yang sama.
null == undefined
Di JavaScript, tanda sama dengan dua kali akan memeriksa nilai kedua data dengan melakukan type coercion. Artinya JavaScript mengubah kedua nilai tersebut menjadi tipe data yang sama.

Perbedaan Praktis

Oke, jadi sekarang bagaimana perbedaan null dan undefined dikehidupan sehari-hari?
Perhatikan potongan kode berikut:
let logHi = (str = 'hi') => {
  console.log(str);
}
Kode di atas membuat sebuah fungsi bernama logHi. Fungsi ini meminta satu parameter dan mengatur nilai default-nya menjadi hi jika tidak disediakan.
Berikut ini hasil saat fungsi di panggil:
logHi();
// hi
logHi('bye');
// bye
Saat mengirimkan undefined kita mendapat nilai default parameternya sedangkan saat mengirimkan null kita mencetak nilai null tersebut.
logHi(undefined);
// hi
logHi(null);
// null

Kesimpulan

  • null merupakan sebuah assigned value sama seperti 25523.5false, atau "halo" yang artinya tidak ada.
  • undefined maksudnya sebuah variabel sudah dideklarasi tapi belum diisi.
  • null dan undefined bersifat falsy (bernilai false).
  • null dan undefined keduanya smaa-sama tipe data primitif tapi sebuah error menyatakan bahwa typeof null bernilai object.
  • null !== undefined tapi null == undefined.
(sumber : codepolitan)
kenapa isinya copas min, karena saya ingin menshare apa yang mau saya pelajari, lalu saya share kembali apa yang telah saya pelajari, jadi saya ingin mengetahui juga apa yang telah saya pelajari dan baca

semangat n_n

karena blog ini adalah blog tempat belajar admin + source download admin. jika pengunjung ingin walking & downloading silahkan

semoga bermanfaat n_n

Tidak ada komentar