Se alguém puder ajudar a resolver esse erro agradeço!
Se alguém puder ajudar a resolver esse erro agradeço!
Olá, Tiago! Tudo bem?
O erro que você está enfrentando ocorre devido a um problema na atribuição de valores no construtor da classe Usuario
. O erro "TypeError: Cannot create property 'underfined' on string 'tiago pasito'" indica que você está tentando criar propriedades em uma string, o que não é permitido.
O que está acontecendo é que criaHashComSal(senha).split(':')
está retornando um array, mas a string que está sendo dividida não contém dois pontos (':'), o que significa que split(':')
está produzindo um array com apenas um elemento (a string original), e é por isso que você está obtendo esse erro.
Esse era um erro que não devia estar acontecendo, chega a ser estranho, tente reiniciar o seu computador ou só o VScode para ver se não houve algum problema em ambos. Contudo, para contornar isso, você pode adicionar uma verificação para garantir que split(':')
produza um array com pelo menos dois elementos. Você pode fazer algo assim:
const hashParts = criaHashComSal(senha).split(':');
if (hashParts.length === 2) {
[this.sal, this.hash] = hashParts;
} else {
throw new Error('Formato de hash inválido');
}
Isso verifica se hashParts
tem exatamente dois elementos antes de tentar atribuí-los a this.sal
e this.hash
. Dessa forma, você evitará o erro e garantirá que seu código funcione corretamente quando a string tiver o formato esperado.
Espero ter ajudado e bons estudos!