# TypeScript avec Vue (Vue.js / Nuxt.js) > Vue 3 TypeScript support, defineComponent, PropType, type inference, generic components, strict mode - 22 questions d'entretien - Senior - [Questions d'entretien: Vue.js / Nuxt.js](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien.md) ## 1. Quel est le rôle principal de defineComponent dans Vue 3 avec TypeScript ? **Réponse** defineComponent permet d'activer l'inférence de types TypeScript pour les options du composant. Sans cette fonction, le contexte this serait traité comme any dans les Options API. Elle assure que les props, data, computed et méthodes sont correctement typées automatiquement. ## 2. Pourquoi utiliser PropType lors de la déclaration de props complexes avec runtime declaration ? **Réponse** PropType est une utility type de Vue qui permet de caster les types de props lors de la déclaration runtime. Object as PropType Book assure que book est correctement typé comme Book au lieu de Object générique. Cela améliore l'autocomplétion et la sécurité des types sans nécessiter script setup avec types génériques. ## 3. Quelle est la différence entre script setup et script setup avec lang='ts' pour l'inférence des types ? **Réponse** script setup avec lang='ts' active TypeScript et permet l'inférence automatique des types sans defineComponent. Les props définies avec defineProps sont automatiquement typées, les refs ont une inférence complète, et les erreurs TypeScript sont détectées à la compilation. Sans lang='ts', aucune vérification de type n'est effectuée. ## 19 questions supplémentaires disponibles - Comment typer correctement une ref qui peut être null initialement en TypeScript ? - Quel est l'avantage principal des composants génériques avec script setup generic en Vue 3.3+ ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Vue.js / Nuxt.js - [Fondamentaux JavaScript](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/javascript-fundamentals.md): 20 questions, Junior - [JavaScript moderne (ES6+)](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/es6-modern-javascript.md): 20 questions, Junior - [Les bases de Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-basics.md): 22 questions, Junior - [Composants Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-components.md): 20 questions, Junior - [Vue Router](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-router.md): 18 questions, Junior - [Pinia State Management](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/pinia-state-management.md): 20 questions, Junior - [Vuex (Legacy)](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vuex-legacy.md): 15 questions, Confirmé - [Composition API](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/composition-api.md): 24 questions, Confirmé - [Réactivité Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-reactivity.md): 20 questions, Confirmé - [Fondamentaux Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-fundamentals.md): 22 questions, Confirmé - [Data Fetching Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-data-fetching.md): 20 questions, Confirmé - [SSR & SSG Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-ssr-ssg.md): 22 questions, Confirmé - [Server Routes Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-server-routes.md): 20 questions, Confirmé - [Modules Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-modules.md): 18 questions, Confirmé - [Composables Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-composables.md): 20 questions, Confirmé - [Formulaires & Validation Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-forms-validation.md): 20 questions, Confirmé - [Gestion d'état Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-state-management.md): 18 questions, Confirmé - [Testing Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-testing.md): 20 questions, Confirmé - [Déploiement Nuxt & CI/CD](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-deployment-cicd.md): 22 questions, Confirmé - [Performance Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-performance.md): 22 questions, Senior - [Patterns avancés Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-advanced-patterns.md): 24 questions, Senior - [Authentification Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-auth.md): 20 questions, Senior - [SEO avec Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-seo.md): 20 questions, Senior - [Internationalisation Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-i18n.md): 18 questions, Senior - [Architecture Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-architecture.md): 22 questions, Senior - [Sécurité Nuxt](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/nuxt-security.md): 20 questions, Senior - [Écosystème Vue](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/vue-ecosystem.md): 18 questions, Senior - [Migration Vue 2→3 & Nuxt 2→3](https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/migration-vue2-vue3-nuxt2-nuxt3.md): 22 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/vue-nuxt/questions-entretien/typescript-vue