2014-07-08 31 views
1

在Javascript中,就是:在Javascript中,是typeof運算VAR ==未定義相當於如果(VAR)

if(typeof p_options.data_type !== "undefined") { } 

絕對等同於只是做:

if(p_options.data_type) { } 

是否有任何優勢的情況下或陷阱?

+1

的typeof阻止,否則這將是一個裁判的錯誤。如果你有一個已知的物體,像p_options,你希望DATA_TYPE永遠不會是0還是假的,那麼是的,他們生產中的代碼相同的行爲。 – dandavis

回答

4

沒有。它絕對不一樣。

想像一下,如果p_options.data_typefalse0"",或任何其他"falsey"值。這與undefined完全不同。

p_options.data_type = false; 

console.log(typeof p_options.data_type !== "undefined"); // true 
console.log(p_options.data_type);      // false 
相關問題