object type Tipos de objeto

Última atualização: 2026-10-22

object type Tipos de objeto

Tipos de objeto descrevem um objeto por meio de pares "propriedade: tipo": use inline para uso único, ou nomeie com interface ou type para reutilização. O TS julga a compatibilidade pela forma (shape).

GrupoComposição de Tipos
TipoTipo
Modo strictNão necessário

ℹ️ Info O editor transpila TypeScript para JavaScript e o executa (sem verificação de tipos); veja a Saída de cada exemplo para o resultado da verificação.

📝 Sintaxe

const user: { id: number; name: string; tags?: string[] } = {
  id: 1,
  name: "Ada",
};

⚙️ Parâmetros

{ name: string }Declarações de propriedades separadas por ; ou , cujos tipos de valor podem ser qualquer coisa (incluindo objetos aninhados)
?/readonlyOs modificadores optional e readonly também se aplicam a tipos de objeto inline

Retorno:Nenhum valor de retorno — tipos de objeto existem apenas na camada de tipos e não produzem código em tempo de execução.

▶ Exemplo

Edite o código abaixo e clique em Testar para ver o resultado transpilado:

Saída:

5 no label

(Saída de execução após a transpilação; adicionar um campo z ausente no tipo dispara a verificação de propriedades excedentes)

💡 Observações

ℹ️ Info O TS é estruturalmente tipado: forma compatível significa compatível — sem exigência de herança explícita (duck typing).
💡 Dica Quando uma forma é referenciada duas vezes ou mais, extraia-a para uma interface/type: erros mais curtos e edição em ponto único.
⚠️ Atenção Literais de objeto disparam a verificação de propriedades excedentes: campos desconhecidos dão erro imediato; atribuir por meio de uma variável intermediária contorna a checagem.
Mais casos em breve.

📚 Tutoriais relacionados

❓ Perguntas frequentes

P O que é tipagem estrutural (duck typing)?
R A compatibilidade depende apenas de ter as propriedades exigidas com os tipos corretos, não de onde foram declaradas. {x: 1, y: 2, z: 3} se encaixa perfeitamente em {x: number; y: number}.
P Tipo de objeto inline ou interface?
R Inline para formas simples de uso único; use interface/type para reutilização, extensão e dicas nomeadas no IDE.
P Como anotar parâmetros que são objetos?
R Escreva a forma inline: function draw(p: { x: number; y: number }) {}. Para formas complexas, defina uma interface antes.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%