【TypeScript】エラー文「Property ‘xxx’ does not exist on type ‘yyy’.」の対処法
2022/12/27
2022/12/27
TypeScriptでProperty 'xxx' does not exist on type 'yyy'.
というエラー文が出たのでその対処法メモです。
エラーの原因
TypeScriptで「yyy」というオブジェクトに対して、「xxx」というプロパティが存在しないと判断された場合に出るエラーです。
Type error: Property 'xxx' does not exist on type 'yyy'.
エラーが起きるコード例
Type error: Property 'name' does not exist on type 'Person'.
type Person = {
firstName: string
lastName: string
age: number
}
const person: Person = {
firstName: 'Taro',
lastName: 'Yamada',
age: 30,
};
console.log(person.name)
// Type error: Property 'name' does not exist on type 'Person'.
// ⇒ "Person"の型に"name"というプロパティがありません。
person.name
を参照していますが、Personという型エイリアスにname
プロパティが存在しないためエラーになってしまっています。
エラーの対処法
対処法としては下記2つがあります。
- 型を追加/変更する
- 参照するプロパティを変更する
対処法⑴ 型を追加/変更する
参照したいプロパティに合わせて型や値を追加して対処する方法です。
type Person = {
firstName: string
lastName: string
age: number
name: string // 追加
}
const person: Person = {
firstName: 'Taro',
lastName: 'Yamada',
age: 30,
name: 'Yamada Taro' // 追加
};
console.log(person.name)
// Yamada Taro
対処法⑵ 参照するプロパティを変更する
参照するプロパティを型に合わせて変更する方法です。
type Person = {
firstName: string
lastName: string
age: number
}
const person: Person = {
firstName: 'Taro',
lastName: 'Yamada',
age: 30,
};
console.log(person.firstName) // 変更
// Taro
まとめ
- 「参照したいプロパティ(xxx)が存在するか」を確認しよう
- 「参照したいプロパティ(xxx)の型」を確認しよう
- 「型エイリアス(yyy)」を確認しよう
最近の記事
【Supabase + JavaScript】よく使う処理まとめ
最近、JavaScript(Next.js)とSupabaseでWEBサイトを作り始めました!
そこで今回は、JavaScriptでSupabaseを使う際のよく利用する処理をメモとして記載し...
2023/5/24
2023/5/24
AI画像生成「Stable Diffusion」をGoogle Colaboratoryで実行する方法メモ
目次1)Stable Diffusion WEB UIのGitHubを開く2)使いたいモデルを選ぶ3)Google Colaboratoryを実行する4)WEB UIのページを開く5)画像生...
2023/5/20
2023/5/20
【Next.js 13】Googleタグマネージャの設定方法。
Next.js 13でGoogle Tag Managerを設定する方法を調べてみました。
とりあえずは動く処理ができたので、その方法をメモしておきます。
目次今回編集するファイルファイ...
2023/5/15
2023/5/15
Next.js 13のアプリ作成時に聞かれる質問まとめ
Next.js 13で新しいアプリケーションを作成する際、はじめにいくつかの質問に答えることが求められます。
この記事では、その質問の内容と解説をメモしていきます!また今回内容がわからなかった...
2023/5/6
2023/5/25
【Next.js】DjangoのAPIで記事のタグを更新したい
DjangoのAPIを使って、Next.jsからデータを新規作成や更新する時に、同時に関連データ(ManyToMany)も変更したい。
今回は「記事(Post)」を新規作成/更新して、その記事...
2023/2/15
2023/2/15
【GAS】複数スプレッドシートを一括CSVダウンロードする
複数のスプレッドシートをCSVファイルにしてダウンロードしたい時に、1シート毎にcsvダウンロードをしていくのが大変だったので、少し楽にできる方法を調べてみました。
今回は、そんな複数スプレッ...
2023/2/13
2023/2/13