型が合わない(TypeScript)
Type error: Type 'string | undefined' is not assignable to type 'string'.
error TS2339: Property 'name' does not exist on type '{}'.ひとことで言うと
「この入れ物には、その種類(型)のデータは入れられません」という、TypeScript の見張りのエラーです。動くこともありますが、公開のときに止まります。
よくある原因
- 中身がないかもしれない(undefined)値を、必ずあるものとして使った
- データの形(型)を書いていない、または実際と違う
自分で確かめること
- エラーに出ているファイルと行を開き、赤い波線の部分を見る
たいていは、こうすると直ります
中身がないときの書き方(?? "" など)を足すか、型の定義を実際のデータに合わせます。
AIへの伝え方
下の文をコピーして、ChatGPT・Claude・Cursor などに貼り付けてください。トップで貼り付けたエラー文があれば、自動でそれに入れかわります。
次のエラーが出て困っています。プログラミング初心者にもわかるように、原因と直し方を教えてください。必要なら、直したコードも全部見せてください。
【エラー】
Type error: Type 'string | undefined' is not assignable to type 'string'.
error TS2339: Property 'name' does not exist on type '{}'.
【やったこと】
(ここに、エラーが出る前にしたことを書く。例:npm run dev を実行した)
【参考】
このエラーは「型が合わない(TypeScript)」というもので、よくある原因は次のとおりです。
・中身がないかもしれない(undefined)値を、必ずあるものとして使った
・データの形(型)を書いていない、または実際と違う
どれに当てはまるかを確かめる方法も教えてください。