
VueでのTypeScript
Vue 3のTypeScriptサポート、defineComponent、PropType、type inference、generic components、strict mode
22 面接問題·
Senior
1Vue 3でTypeScriptを使う際、defineComponentの主な役割は何ですか?
1
Vue 3でTypeScriptを使う際、defineComponentの主な役割は何ですか?
回答
defineComponentはコンポーネントオプションに対するTypeScriptのtype inferenceを有効にします。この関数がないと、Options APIではthisコンテキストがanyとして扱われてしまいます。これによりprops、data、computed、メソッドが自動的に正しく型付けされることが保証されます。
2runtime declarationで複雑なpropsを宣言する際に、なぜPropTypeを使うのですか?
2
runtime declarationで複雑なpropsを宣言する際に、なぜPropTypeを使うのですか?
回答
PropTypeはVueのutility typeで、runtime宣言時にpropsの型をキャストできるようにします。Object as PropType Bookとすることで、bookが汎用的なObjectではなくBookとして正しく型付けされることが保証されます。これにより、汎用型を使ったscript setupを必要とせずに、オートコンプリートと型安全性が向上します。
3type inferenceの観点で、script setupとlang='ts'付きのscript setupの違いは何ですか?
3
type inferenceの観点で、script setupとlang='ts'付きのscript setupの違いは何ですか?
回答
lang='ts'付きのscript setupはTypeScriptを有効にし、defineComponentなしで自動的なtype inferenceを可能にします。definePropsで定義されたpropsは自動的に型付けされ、refsは完全なinferenceを持ち、TypeScriptのエラーはコンパイル時に検出されます。lang='ts'がない場合、型チェックは一切行われません。
4
TypeScriptで初期値がnullになり得るrefを正しく型付けするにはどうすればよいですか?
5
Vue 3.3以降における script setup generic を用いたジェネリックコンポーネントの主な利点は何ですか?
+19 面接問題
その他のVue.js / Nuxt.js面接トピック
JavaScript の基礎
Junior
20問モダンな JavaScript (ES6+)
Junior
20問Vue の基礎
Junior
22問Vue コンポーネント
Junior
20問Vue Router
Junior
18問Pinia State Management
Junior
20問Vuex (Legacy)
Mid-Level
15問Composition API
Mid-Level
24問Vue のリアクティビティ
Mid-Level
20問Nuxt の基礎
Mid-Level
22問Nuxt のデータフェッチング
Mid-Level
20問Nuxt の SSR と SSG
Mid-Level
22問Nuxt サーバールート
Mid-Level
20問Nuxt モジュール
Mid-Level
18問Vue のコンポーザブル
Mid-Level
20問Vue フォームとバリデーション
Mid-Level
20問Nuxt の状態管理
Mid-Level
18問Vue のテスト
Mid-Level
20問Nuxt のデプロイと CI/CD
Mid-Level
22問Vue のパフォーマンス
Senior
22問Vue の高度なパターン
Senior
24問Nuxt認証
Senior
20問Nuxt での SEO
Senior
20問Nuxt の国際化
Senior
18問Vue アーキテクチャ
Senior
22問Nuxt セキュリティ
Senior
20問Vue エコシステム
Senior
18問Vue 2→3 & Nuxt 2→3 の移行
Senior
22問