所以,我遇到了一个错误,并认为它很有趣。一旦我坐下来思考了 5 秒钟,它是有道理的,但很好奇未来将如何克服它。
所以,我在 obj 中设置了一些哈希值。(来自较大 obj 的代码片段)。
someBigObj : {
someObj : {
item1 : 0
item2: 1
item4: 2
item3: 3
}
}
因此,我以这种方式设置它是因为我需要引用与与这些项目关联的数据相对应的数组位置。
所以,如果我碰巧引用了 item1——看看我们得到了什么。
var varReference = someBigObj.someObj['item1'] || false;
// which is equivalent to
var varReference = 0 || false;
看看那里发生了什么?那个引用是 0。所以 varReference 总是假的。在这种情况下,我实际上想要数字 0,因为我需要访问一个数组元素。我认为把它串起来对我来说很奇怪,因为它不是一个字符串,而是一个整数。我怎样才能仍然使用 || 的这个后备?false,但实际上将数字 0 视为有效值。
注意:我知道我可以明确地测试等等。只是好奇是否有捷径或本机 js(我不知道)可以解决我的解决方案。认为类似的东西会起作用,但没有。
Number(0) || false
附加说明:我最后没有放|| false,即使它没有被正确引用,也没有错误。所以这实际上并不重要,但我总是喜欢有后备,所以这就是我好奇的原因。