简体   繁体   English

在Javascript中,typeof var!==未定义等效于if(var)

[英]In Javascript, is typeof var !== undefined equivalent to if(var)

In Javascript, is: 在Javascript中,是:

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

Absolutely equivalent to just doing: 绝对等同于只做:

if(p_options.data_type) { }

Are there any edge cases or gotchas? 是否有边缘情况或陷阱?

No . 不行 It definitely is not the same. 绝对不一样。

Imagine if p_options.data_type was false , 0 , "" , or any other "falsey" value. 假设p_options.data_typefalse0""或任何其他“ falsey”值。 This is very different from undefined . 这与undefined有很大的不同。

p_options.data_type = false;

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM