Object is possibly 'undefined'
TypeScriptでオブジェクトがundefinedの可能性がある場合のエラー
概要
Object is possibly 'undefined' は、TypeScriptのstrictNullChecksが有効な場合に、undefinedの可能性があるオブジェクトのプロパティやメソッドにアクセスしようとすると発生するエラーです。
エラーメッセージ
TS2532: Object is possibly 'undefined'.
TS18048: 'user' is possibly 'undefined'.
TS2533: Object is possibly 'null' or 'undefined'.
原因
| |
解決策
1. if文でundefinedチェック
| |
2. オプショナルチェーン(?.)
| |
3. Null合体演算子(??)
| |
4. 非nullアサーション演算子(!)
| |
5. 型ガード関数
| |
6. アサーション関数(TypeScript 3.7+)
| |
よくあるパターン
配列のfind
| |
Map.get
| |
オプショナルプロパティ
| |
配列のインデックスアクセス
| |
tsconfig.jsonの設定
| |
型の絞り込み
| |
関連エラー
関連エラー
TypeScript の他のエラー
この記事は役に立ちましたか?