Saya sering melihat kode JavaScript yang memeriksa parameter yang tidak ditentukan, dll. Dengan cara ini:
if (typeof input !== "undefined") {
// do stuff
}
Ini sepertinya agak boros, karena melibatkan pencarian tipe dan perbandingan string, belum lagi verbositasnya. Itu diperlukan karenaundefined
bisa diubah namanya.
Pertanyaan saya adalah:
Bagaimana kode itu lebih baik daripada pendekatan ini:
if (null != input) {
// do stuff
}
Sejauh yang saya tahu, Anda tidak dapat mendefinisikan ulang null
, jadi itu tidak akan rusak secara tak terduga. Dan, karena jenis-paksaan dari !=
operator, ini memeriksa keduanya undefined
dan null
... yang sering kali persis seperti yang Anda inginkan (misalnya untuk parameter fungsi opsional).
Namun formulir ini tampaknya tidak tersebar luas, dan bahkan menyebabkan JSLint berteriak kepada Anda karena menggunakan !=
operator jahat .
Mengapa ini dianggap gaya yang buruk?
if (null != input)
hanya "Yoda Speak" untuk penutur bahasa Inggris (Dari satu aku .... uuammmmm) jadi jika mereka menyamakan hal yang sama itu benar-benar hanya semantik. MENURUT OPINI SAYA.