1
在Javascript中,就是:在Javascript中,是typeof運算VAR ==未定義相當於如果(VAR)
if(typeof p_options.data_type !== "undefined") { }
絕對等同於只是做:
if(p_options.data_type) { }
是否有任何優勢的情況下或陷阱?
在Javascript中,就是:在Javascript中,是typeof運算VAR ==未定義相當於如果(VAR)
if(typeof p_options.data_type !== "undefined") { }
絕對等同於只是做:
if(p_options.data_type) { }
是否有任何優勢的情況下或陷阱?
沒有。它絕對不一樣。
想像一下,如果p_options.data_type
是false
,0
,""
,或任何其他"falsey"值。這與undefined
完全不同。
p_options.data_type = false;
console.log(typeof p_options.data_type !== "undefined"); // true
console.log(p_options.data_type); // false
的typeof阻止,否則這將是一個裁判的錯誤。如果你有一個已知的物體,像p_options,你希望DATA_TYPE永遠不會是0還是假的,那麼是的,他們生產中的代碼相同的行爲。 – dandavis