Saturday, February 2, 2013

Menangani Variabel yang Tidak Hadir/Hilang

Fungsi ini digunakan untuk memastikan bahwa JavaScript tidak akan mengalami gangguan/error jika salah satu variabel tidak sempat ditentukan. Hal ini biasanya disebabkan karena kelalaian pengguna yang lupa menuliskan variabel yang dibutuhkan, sehingga salah satu variabel yang harus ada untuk mengaktifkan plugin yang dia pakai tidak hadir/hilang; Atau karena developer plugin tersebut telah memperbaharui plugin buatannya dengan menambahkan beberapa variabel baru, sementara para pengguna yang menggunakan plugin melalui hosting dari sumber plugin secara langsung sudah cukup banyak. Developer tidak mungkin memberitahu para pengguna untuk mengeset variabel baru agar plugin mereka bisa bekerja kembali. Itu merepotkan:

function handleVars(options) {

    // Set beberapa variabel default/standar di sini:
    var defaults = {
        "name": "Anonymous",
        "age": "Unknown",
        "site": "Not available",
        "email": "Not available",
        "address": "Unknown"
    };

    // Cek apakah key `options[i]` tidak hadir/tidak ditentukan.
    // Jika tidak hadir, gantikan dengan `defaults[i]` 
    for (var i in defaults) {
        options[i] = (typeof options[i] == "undefined") ? defaults[i] : options[i];
    }

    return options;

}

Anda bisa menentukan/menambah/mengedit beberapa variabel standar/default pada plugin yang Anda buat di dalam objek defaults. Fungsi di atas akan menjaga para pengguna dari gangguan yang disebabkan oleh ketidakhadiran variabel yang diperlukan karena kesalahan atau pembaharuan. Fungsi di atas akan memastikan bahwa: jika variabel tidak hadir, maka variabel tersebut akan digantikan oleh variabel standar yang sudah dituliskan di dalam objek defaults.

Sebagai contoh, variabel pada plugin yang harus ada adalah name, age, site, email dan address. Sedangkan yang kita tuliskan/deklarasikan hanya tiga variabel:

var myWidgetConfig = handleVars({
    "name": "Taufik Nurrohman",
    "age": 21,
    "site": "//www.dte.web.id"
});

Tidak masalah. Beberapa variabel yang tidak sempat dideklarasikan akan mengikuti variabel standar yang telah kita tentukan di dalam handleVars, sehingga myWidgetConfig akan menghasilkan konfigurasi seperti ini secara tidak langsung:

var myWidgetConfig = {
    "name": "Taufik Nurrohman",
    "age": 21,
    "site": "//www.dte.web.id",
    "email": "Not available",
    "address": "Unknown"
};

Lihat Demo

Labels: , , ,

1 Comments:

At Wednesday, February 13, 2013 at 12:31:00 AM GMT+7, Blogger azewBz said...

:-bd

 

Post a Comment

<< Home