TypeScript · Essencial · Inglês · Técnico
property does not exist on type
Erro TS2339, em que o código acessa uma propriedade que o compilador não encontra no tipo da expressão. Surge por erro de digitação, união não estreitada ou tipo incompleto.
Onde usar
Costuma aparecer com uniões, quando a propriedade existe só em um membro, e com bibliotecas sem tipos. Primeiro confira se o tipo está certo, e só depois pense em narrowing ou declaração.
Em código
type A = { nome: string };
type B = { id: number };
function f(x: A | B) {
// x.nome; // erro TS2339: não existe em B
if ('nome' in x) return x.nome;
}Exemplos
Property does not exist on type, you have to narrow the union first.
Property does not exist on type, você precisa estreitar a união antes.
That error means the interface is missing a field.
Esse erro significa que falta um campo na interface.
Cuidado
A saída fácil, converter para any, apaga a checagem; prefira estreitar o tipo, usar in ou corrigir a interface.
Sinônimos
TS2339