コードは次のとおりです。
if(!typeOf(node.parentNode)) return null;
エラーは次のとおりです。
Uncaught TypeError: Cannot read property 'parentNode' of null
null/未定義/falseかどうかをテストしようとしています。しかし、それは私にエラーを送り続けます。
if ステートメントでエラーが発生しないようにテストするにはどうすればよいですか?
コードは次のとおりです。
if(!typeOf(node.parentNode)) return null;
エラーは次のとおりです。
Uncaught TypeError: Cannot read property 'parentNode' of null
null/未定義/falseかどうかをテストしようとしています。しかし、それは私にエラーを送り続けます。
if ステートメントでエラーが発生しないようにテストするにはどうすればよいですか?
オブジェクト参照もテストします。
if (!node || !node.parentNode) return null;
「ノード」が実際には何でもかまいません (オブジェクト参照に加えて文字列や数値など)、型もテストする必要があります。
最初かどうかを確認する必要node
がありnull
ます。
if(!node || !node.parentNode) {
return null;
}
これは、「短絡」評価とも呼ばれます。それが であること!node
がわかると、演算子は OR( ) であり、OR では入力の 1 つが である場合、結果は のみになるtrue
ため、ブロック内にあるものをすぐに実行します。||
true
true
また、typeof
キーワードです。関数ではありません (ただし、コードは引き続き機能します)。
try {
if (!typeOf(node.parentNode)) return null;
} catch (err) {
console.log(err);
}