# TypeScript com Vue (Vue.js / Nuxt.js) > Suporte a TypeScript no Vue 3, defineComponent, PropType, type inference, generic components, strict mode - 22 perguntas de entrevista - Senior - [Perguntas de entrevista: Vue.js / Nuxt.js](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista.md) ## 1. Qual é o papel principal de defineComponent no Vue 3 com TypeScript? **Resposta** defineComponent habilita a type inference do TypeScript para as opções do componente. Sem essa função, o contexto this seria tratado como any na Options API. Ela garante que props, data, computed e métodos sejam tipados corretamente de forma automática. ## 2. Por que usar PropType ao declarar props complexas com runtime declaration? **Resposta** PropType é um utility type do Vue que permite fazer o cast dos tipos das props durante a declaração runtime. Object as PropType Book garante que book seja tipado corretamente como Book em vez de um Object genérico. Isso melhora o autocomplete e a segurança de tipos sem exigir script setup com tipos genéricos. ## 3. Qual é a diferença entre script setup e script setup com lang='ts' para a type inference? **Resposta** script setup com lang='ts' habilita o TypeScript e permite a type inference automática sem defineComponent. As props definidas com defineProps são tipadas automaticamente, as refs têm inference completa e os erros de TypeScript são detectados em tempo de compilação. Sem lang='ts', nenhuma verificação de tipos é feita. ## Mais 19 perguntas disponiveis - Como tipar corretamente uma ref que pode ser null inicialmente no TypeScript? - Qual é a principal vantagem dos componentes genéricos com script setup generic no Vue 3.3+? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista Vue.js / Nuxt.js - [Fundamentos de JavaScript](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/javascript-fundamentals.md): 20 perguntas, Junior - [JavaScript moderno (ES6+)](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/es6-modern-javascript.md): 20 perguntas, Junior - [Fundamentos do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-basics.md): 22 perguntas, Junior - [Componentes Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-components.md): 20 perguntas, Junior - [Vue Router](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-router.md): 18 perguntas, Junior - [Pinia State Management](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/pinia-state-management.md): 20 perguntas, Junior - [Vuex (Legacy)](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vuex-legacy.md): 15 perguntas, Mid-Level - [Composition API](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/composition-api.md): 24 perguntas, Mid-Level - [Reatividade do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-reactivity.md): 20 perguntas, Mid-Level - [Fundamentos do Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-fundamentals.md): 22 perguntas, Mid-Level - [Data Fetching no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-data-fetching.md): 20 perguntas, Mid-Level - [SSR e SSG no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-ssr-ssg.md): 22 perguntas, Mid-Level - [Rotas de servidor Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-server-routes.md): 20 perguntas, Mid-Level - [Módulos Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-modules.md): 18 perguntas, Mid-Level - [Composables do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-composables.md): 20 perguntas, Mid-Level - [Formulários e validação Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-forms-validation.md): 20 perguntas, Mid-Level - [Gerenciamento de estado no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-state-management.md): 18 perguntas, Mid-Level - [Testes no Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-testing.md): 20 perguntas, Mid-Level - [Deploy do Nuxt e CI/CD](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-deployment-cicd.md): 22 perguntas, Mid-Level - [Desempenho do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-performance.md): 22 perguntas, Senior - [Padrões avançados do Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-advanced-patterns.md): 24 perguntas, Senior - [Autenticação Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-auth.md): 20 perguntas, Senior - [SEO com Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-seo.md): 20 perguntas, Senior - [Internacionalização no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-i18n.md): 18 perguntas, Senior - [Arquitetura Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-architecture.md): 22 perguntas, Senior - [Segurança no Nuxt](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/nuxt-security.md): 20 perguntas, Senior - [Ecossistema Vue](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/vue-ecosystem.md): 18 perguntas, Senior - [Migração Vue 2→3 e Nuxt 2→3](https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/migration-vue2-vue3-nuxt2-nuxt3.md): 22 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/vue-nuxt/perguntas-entrevista/typescript-vue