JavaScript:typeof fooVariable!==' undefined' vs fooVariable

时间:2016-10-25 07:36:15

标签: javascript

而不是......

if (typeof some !== 'undefined' && some.thing.variable === 'someValue')

......只做以下事情是否可以接受?

if (some && some.thing.variable === 'someValue')

1 个答案:

答案 0 :(得分:-2)

是的,这在私人活动中是可以接受的。只需确保您已声明变量some以避免ReferenceError

理由:由于有一些downvotes,我认为我需要提供一些背景知道为什么我认为这是可以接受的。我提到“私有函数”,因为在私有函数中,我们假设我们知道哪些对象具有哪些属性。所以 - 无论风格如何 - 只有当some确实是宣传的对象时,第二次写入才是原始代码片段的可接受替代方案。

有问题的函数需要声明变量,不应该从外部访问。有些人用下划线开始这些变量:

// Declare variable
var _some;