Cara Mengecek Undefined di Javascript
Undefined adalah tipe data primitif yang menunjukkan bahwa sebuah variabel belum diberi nilai, atau sebuah ekspresi menghasilkan nilai yang tidak valid. Undefined juga merupakan nilai global yang dapat diakses oleh semua kode Javascript.
Namun, undefined juga dapat ditimpa oleh variabel lain, sehingga kita tidak dapat mengandalkan nilai global undefined untuk mengecek apakah sebuah variabel atau nilai adalah undefined. Sebagai contoh:
var undefined = 42; // menimpa nilai global undefined
var x; // variabel x belum diberi nilai, sehingga nilainya adalah undefined
console.log(x === undefined); // false, karena undefined sekarang bernilai 42
Oleh karena itu, cara yang lebih aman dan disarankan untuk mengecek undefined adalah menggunakan operator typeof. Operator typeof mengembalikan sebuah string yang menunjukkan tipe data dari sebuah variabel atau nilai. Jika variabel atau nilai adalah undefined, maka typeof akan mengembalikan string “undefined”. Sebagai contoh:
var undefined = 42; // menimpa nilai global undefined
var x; // variabel x belum diberi nilai, sehingga nilainya adalah undefined
console.log(typeof x === 'undefined'); // true, karena typeof x mengembalikan "undefined"
Dengan menggunakan typeof, kita tidak perlu khawatir apakah nilai global undefined telah ditimpa atau tidak, karena typeof akan selalu mengembalikan “undefined” untuk variabel atau nilai yang undefined.
Selain itu, menggunakan typeof juga dapat menghindari kesalahan referensi yang dapat terjadi jika kita mencoba mengakses sebuah variabel yang belum dideklarasikan. Jika kita menggunakan operator === untuk membandingkan sebuah variabel yang belum dideklarasikan dengan undefined, maka kita akan mendapatkan kesalahan referensi. Sebagai contoh:
console.log(y === undefined); // ReferenceError: y is not defined
Namun, jika kita menggunakan typeof, maka kita tidak akan mendapatkan kesalahan referensi, karena typeof akan mengembalikan “undefined” untuk variabel yang belum dideklarasikan. Sebagai contoh:
console.log(typeof y === 'undefined'); // true, karena typeof y mengembalikan "undefined"
Dengan demikian, menggunakan typeof adalah cara yang lebih baik untuk mengecek undefined di Javascript, karena lebih aman, akurat, dan tidak menimbulkan kesalahan referensi.
Komentar
Posting Komentar