这是我的代码:
const a = function(obj) {
for (let key in obj) {
if (!obj.hasOwnProperty(key)) {
continue;
}
console.info(key.split('_'));
}
};
a({a_b: 123});
我认为没有任何问题,但SonarQube给了我一个严重的错误:
可以抛出TypeError,因为“key”可能为null或未定义。
key.split('_')中的键一词突出显示。这里指示变量键可以是undefined / null。
我尝试传递类似{[undefined]: 123}
的内容,变量键变为字符串“undefined”而不是真正的未定义。
因此。我想知道在任何可能的情况下密钥都是undefined / null吗?或者它只是一个误报?
以下是截图: