1
resposta

No meu deu erro - O código não compila.

Se tiver no construtor preço é number vai dar erro sim, independe se tiver o "noImplicitAny": false, isso seguindo o ultimo exemplo com o model. O corpo da questão deve indicar o construtor como any.

1 resposta

Olá, Reinaldo! Tudo ok contigo?

A configuração "noImplicitAny": false no arquivo tsconfig.json permite que o TypeScript infira o tipo 'any' para variáveis que não têm um tipo específico definido. Isso significa que, mesmo que o construtor não tenha um tipo específico definido para 'preço', ele não deveria causar um erro de compilação com essa configuração.

No código que a Marina compartilhou, ela está usando o elemento HTMLInputElement para o inputPreco. Isso significa que o TypeScript vai considerar o tipo do inputPreco como HTMLInputElement, e não number.

Se você está tentando definir o preço como um número, você pode fazer isso de duas maneiras:

  1. Definir o tipo do inputPreco como any:

    private inputPreco: any;
    
  2. Converter o valor do inputPreco para número quando você for usá-lo:

    alert(Number(this.inputPreco.value));
    

    Porém, vale lembrar que a utilização do tipo 'any' não é recomendada, pois se perde a vantagem da tipagem estática que o TypeScript oferece. Portanto, sempre que possível, é melhor especificar o tipo correto.

Era isso! Se precisar eu estarei por aqui.

Abraços e bons estudos!