3
respostas

Property 'replace' does not exist on type 'string | number | string[]'

Estamos com dificuldade em entender o erro, em tese o codigo esta correto :

const negociacao = new Negociacao(
                new Date(this._inputData.val().replace(/-/g, ',')), 
                parseInt(this._inputQuantidade.val()),
                parseFloat(this._inputValor.val())
            );

mas retorna os seguintes erros: Property 'replace' does not exist on type 'string | number | string[]'. Property 'replace' does not exist on type 'number'.

Argument of type 'string | number | string[]' is not assignable to parameter of type 'string'. Type 'number' is not assignable to type 'string'.

3 respostas

Fala Rafael, tudo bom? Consegue testar se o valor do input data está realmente vindo?

O erro era a versão do @types/jquery, havia instalado a mais recente, voltei para 2.0.42 e não marcou os erros.

Excelente Rafael. Na versão mais recente paparam mosca e definiram o tipo de val() como number.

Aliás, isso serve como experiência para testar sempre o TSD que você baixar e quando encontrar um que funcione, ficar com ele. Arquivos TSD eu só atualizo em último caso, porque mudaram toda hora e não são feitos pela equipe oficial das libs.

Sucesso e bom estudo meu aluno!