Pengganti isset di Javascript

Fungsi isset di PHP untuk memeriksa variable. Bagaimana jika di javascript? Mari kita lihat selengkapnya.
4448  
       

Fungsi isset di PHP tentu sangat penting terutama untuk memeriksa, apakah variabel tersebut sudah terinisialisasi atau belum. Bagaimana jika bahasa pemrogramanya javascript? Apakah ada pengganti isset di javascript? Mari kita lihat selengkapnya.

Javascript Isset Equivalent

Didalam javascript, semua variabel haruslah terdefinisi terlebih dahulu seperti pada pemrograman lainnya. Sementara jika kita mengambil nilai variable yang berupa object dari API, tentu saja hasilnya bisa sangat variatif dan menimbulkan error. Berikut ini adalah solusinya.

Menggunakan Undefined

Berikut ini adalah contoh kode untuk memeriksa isi variable obj apakah memiliki object foo dengan menggunakan undefined keyword.

if (typeof obj.foo !== 'undefined') {
  // terdefinisi // isset = true
}

 
Sebaris kode tersebut sudah bisa menjadi persamaan fungsi PHP isset yang di translasikan ke javascript. Cukup nanti tinggal ganti variabel foo nya dengan variabel yang ingin dicek.

Kenapa harus menggunakan Undefined

Mungkin disini ada yang terfikir, kenapa harus menggunakan undefined keyword? Jawabanya sebetulnya sangat mudah. Didalam PHP, jika ada isset variabel berisi object dalam object terus menerus tidak akan menimbulkan error atau exception. Sementara untuk javascript, ini seperti cek dulu variabel nya ada atau tidak, baru cek isi dalam objectnya terus menerus sampai apa yang kita cek tercapai. Sehingga kemungkinan besar akan menghasilkan error atau exception tinggi.
Berikut ini adalah contoh kode perbandingannya.

$a = new stdClass();
$a->b = new stdClass();
if(isset($a->b->b->d)){
//ini tidak akan pernah menghasilkan error, 
//meskipun object didalam objectnya sampai b ada.
}

Sementara jika javascript itu seperti.

var abc = {};
try{ 
  abc.def.ghi.jkl; 
  isset=true;
} catch(e){ 
  isset=false 
}

Sehingga akan memicu error jika object ghi tidak terdefinisi.

Menggunakan hasOwnProperty

Sementara untuk penggunaan pada variabel yang berisi object bisa gunakan cara ini.

if (obj.hasOwnProperty('foo')) {
  //terdefinisi // isset = true
}

 
Penggunaan hasOwnProperty sangat simpel. Namun ini hanya bisa digunakan untuk object dalam variabel. Butuh sedikit trik jika ingin memeriksa variabel yang bersifat global.

Menggunakan Operator in

Operator in seperti dalam operator SQL. Berikut ini adalah contohnya.

if ('foo' in obj) {
  // your code here
}

 
Penggunaan keyword in ini seperti metode-metode sebelumnya dengan hasil yang sama.

Kesimpulan

Memang PHP itu bukan javascript, segala kemudahan di PHP atau di javascript jangan dijadikan tolak ukur. Pilih saja yang paling mudah dipahami. Dan yang penting mah logikanya ada. kalau zaman sekarang tinggal googling beres.
 
Demikian semoga membantu.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>