5
これは私のコードです:For-Inループの結果は、未定義またはヌルになりますか?
const a = function(obj) {
for (let key in obj) {
if (!obj.hasOwnProperty(key)) {
continue;
}
console.info(key.split('_'));
}
};
a({a_b: 123});
私はまったく問題がないと思ったが、SonarQubeは私に重大なエラーを与える:
TypeError can be thrown as "key" might be null or undefined here.
単語キーでkey.split( '_ ')が強調表示されます。可変キーの表示はここでは未定義/ nullにすることができます。
私は{[undefined]: 123}
のようなものを渡そうとしましたが、変数のキーは、実際には定義されていない文字列になります。
したがって。私はキーが未定義/任意の可能な状況でnullになるのだろうか?それとも、偽陽性ですか?
@Aᴍɪʀこれはタイプミスで、console.infoはforループ内にあり、エラーは依然として存在します。 – SCLeo
'key'は更新された質問で定義されます。あなたが何を決定しようとしているかわからない? – guest271314
Hmmm。 SonarQubeにバグがあるかもしれません。私はそれで働いたことがない。オブジェクト内のキーは常に文字列なので、 'key'が' undefined'になることはありません。 –