# TypeScript with Vue (Vue.js / Nuxt.js) > Vue 3 TypeScript support, defineComponent, PropType, type inference, generic components, strict mode - 22 interview questions - Senior - [Interview Questions: Vue.js / Nuxt.js](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions.md) ## 1. What is the primary role of defineComponent in Vue 3 with TypeScript? **Answer** defineComponent enables TypeScript type inference for component options. Without this function, the this context would be treated as any in the Options API. It ensures that props, data, computed and methods are correctly typed automatically. ## 2. Why use PropType when declaring complex props with runtime declaration? **Answer** PropType is a Vue utility type that allows casting prop types during runtime declaration. Object as PropType Book ensures that book is correctly typed as Book instead of a generic Object. This improves autocompletion and type safety without requiring script setup with generic types. ## 3. What is the difference between script setup and script setup with lang='ts' for type inference? **Answer** script setup with lang='ts' enables TypeScript and allows automatic type inference without defineComponent. Props defined with defineProps are automatically typed, refs have full inference, and TypeScript errors are detected at compile time. Without lang='ts', no type checking is performed. ## 19 more questions available - How to correctly type a ref that can be initially null in TypeScript? - What is the main advantage of generic components with script setup generic in Vue 3.3+? Sign up for free: https://sharpskill.dev/en/login ## Other Vue.js / Nuxt.js interview topics - [JavaScript Fundamentals](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/javascript-fundamentals.md): 20 questions, Junior - [Modern JavaScript (ES6+)](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/es6-modern-javascript.md): 20 questions, Junior - [Vue Basics](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-basics.md): 22 questions, Junior - [Vue Components](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-components.md): 20 questions, Junior - [Vue Router](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-router.md): 18 questions, Junior - [Pinia State Management](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/pinia-state-management.md): 20 questions, Junior - [Vuex (Legacy)](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vuex-legacy.md): 15 questions, Mid-Level - [Composition API](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/composition-api.md): 24 questions, Mid-Level - [Vue Reactivity](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-reactivity.md): 20 questions, Mid-Level - [Nuxt Fundamentals](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-fundamentals.md): 22 questions, Mid-Level - [Nuxt Data Fetching](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-data-fetching.md): 20 questions, Mid-Level - [Nuxt SSR & SSG](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-ssr-ssg.md): 22 questions, Mid-Level - [Nuxt Server Routes](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-server-routes.md): 20 questions, Mid-Level - [Nuxt Modules](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-modules.md): 18 questions, Mid-Level - [Vue Composables](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-composables.md): 20 questions, Mid-Level - [Vue Forms & Validation](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-forms-validation.md): 20 questions, Mid-Level - [Nuxt State Management](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-state-management.md): 18 questions, Mid-Level - [Vue Testing](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-testing.md): 20 questions, Mid-Level - [Nuxt Deployment & CI/CD](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-deployment-cicd.md): 22 questions, Mid-Level - [Vue Performance](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-performance.md): 22 questions, Senior - [Vue Advanced Patterns](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-advanced-patterns.md): 24 questions, Senior - [Nuxt Authentication](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-auth.md): 20 questions, Senior - [SEO with Nuxt](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-seo.md): 20 questions, Senior - [Nuxt Internationalization](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-i18n.md): 18 questions, Senior - [Vue Architecture](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-architecture.md): 22 questions, Senior - [Nuxt Security](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/nuxt-security.md): 20 questions, Senior - [Vue Ecosystem](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/vue-ecosystem.md): 18 questions, Senior - [Migration Vue 2→3 & Nuxt 2→3](https://sharpskill.dev/en/technologies/vue-nuxt/interview-questions/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/en/technologies/vue-nuxt/interview-questions/typescript-vue