我一直在进行代码审查,我看到这样的代码:
var a = { ... }; // in reality, an actual object filled with key-value pairs
for (var key in a) {
if (!angular.isUndefined(key)) { // does this ever fail?
do.stuff();
}
}
我的问题是key
是否可能未定义(或根据true
评估为angular.isUndefined
)。这似乎不太可能,因为当我尝试执行以下操作时:
var a = { undefined: 'hello' }
事实证明undefined
实际上是String
。
答案 0 :(得分:5)
我的问题是
key
是否可以undefined
没有。对象的所有键(属性名称)都将转换为字符串。