TypeError: Cannot read properties of undefined
undefined または null のプロパティにアクセスした場合に発生するエラー
概要
TypeError: Cannot read properties of undefined は、undefined または null の値に対してプロパティやメソッドにアクセスしようとした場合に発生するエラーです。
エラーメッセージ
TypeError: Cannot read properties of undefined (reading 'map')
TypeError: Cannot read properties of null (reading 'value')
TypeError: undefined is not a function
原因
- 未初期化の変数: 変数が undefined のまま使用
- API レスポンスの未確認: データ取得前にアクセス
- DOM 要素が見つからない: querySelector が null を返す
- オブジェクトのネストしたプロパティ: 途中のプロパティが存在しない
- 非同期処理のタイミング: データ取得完了前にアクセス
解決策
1. オプショナルチェーン(?.)を使用
| |
2. 存在確認してからアクセス
| |
3. DOM 要素の存在確認
| |
4. 配列メソッドの安全な使用
| |
5. 関数の引数チェック
| |
6. async/await での安全なアクセス
| |
7. 状態管理での初期値
| |
8. 配列の分割代入
| |
9. コールバック関数のチェック
| |
デバッグのコツ
console.log で値を確認
| |
try-catch で詳細を取得
| |
JavaScript の他のエラー
この記事は役に立ちましたか?