Senin, 27 Agustus 2012

Null dan Undefined pada JavaScript

Banyak yang menguji ekspresi nilai dalam JavaScript dengan cara berikut:

if (SomeObject != null ) ...

Apa yang salah?

Dalam javascript, object yang belum tercipta akan mengembalikan nilai "undefined", jadi kode tersebut diatas hanya dapat dipergunakan untuk mengecek nilai object yang sebelumnya telah terdefinisi. Jika object belum tercipta, maka kode tersebut malah menciptakan error lain... yaitu "SomeObject is undefined"

Kita dapat menggunakan "typeof" secara eksplisit untuk memeriksa apakah object telah terdefinisi, atau menggunakan trik lainnya. Tapi, cara itu juga memungkinkan celah terjadinya kesalahan dalam evaluasi nilai.


Cara yang benar:

if (!SomeObject) {

Terlihat singkat, tapi inilah yang lebih benar.
Sekali lagi perlu diperhatikan bahwa "undefined" berbeda dengan "null".
Object yang tidak/belum memiliki nilai mengembalikan nilai "null", sedangkan object yang malah belum tercipta sama sekali akan mengembalikan nilai "undefined".

Tidak ada komentar:

Posting Komentar