1
resposta

autenticavel.autenticar is not a function

Perdi um pouco de tempo tentando resolver esse problema, fiz a depuração linha a linha e descobri o erro, estava colocando uma classe no lugar de um objeto na minha index. Estava Diretor em vez de diretor "const estalogado = SistemaAutenticacao.login(diretor, "123456")" Um erro simples mas espero poder ajudar mostrando esse pequeno detalhe e agradecer pelo conhecimento. Graças a modulo anterior consegui achar o erro e entender mais sobre classes e objetos.

import{Cliente} from "./Cliente.js"
import {Gerente} from "./Funcionarios/Gerente.js"
import {Diretor} from "./Funcionarios/Diretor.js"
import {SistemaAutenticacao} from "./SistemaAutenticacao.js";

const diretor = new Diretor("Rodrigo", 10000, 12345678900);
diretor.cadastrarSenha("123456");
const gerente = new Gerente("Ricardo" ,5000, 123789456001);
gerente.cadastrarSenha("123");
const estalogado = SistemaAutenticacao.login(diretor, "123456")

const cliente = new Cliente("Lais", 78745612370, 456)
const gerenteEstaLogado = SistemaAutenticacao.login(gerente, "123");
const diretorEstaLogado = SistemaAutenticacao.login(diretor,"123456");


const clienteEstaLogado = SistemaAutenticacao.login(cliente,"456")

console.log(gerenteEstaLogado, diretorEstaLogado, clienteEstaLogado);

1 resposta

Olá Maicon, tudo bom?

Bem levantado esse ponto. As vezes o erro que aparece pode ser bem claro e direto, mas as vezes ele não é. Principalmente quando não estamos tratando os erros, então cada erro que aparece é uma surpresa, rs

Sempre que estiverem preso em algum erro, a primeira coisa a se fazer é identificar o local do erro. Em códigos muito longos, eu aconselho comentar o código todo e ir descomentando de bloquinho em bloquinho, até o erro voltar a aparecer. Pode parecer besteira, mas ajuda muito.

Depois de encontrar o local do erro (a linha que ele acontece, ou a chamada de alguma função ou método), precisamos entender o motivo do erro acontecer. As vezes (ou melhor, na maioria das vezes) é algo besta, como o nome de uma variável escrito errada, ou você está chamando um método em uma variável que não tem esse método, ou procurando um índice que não existe dentro de um array, etc. Existem muitos tipos de erro para listar aqui, mas o legal é que em 99% das vezes você pode encontrar a solução desse erro no Google. E não tem problema procurar a solução de algo no Google. O importante é você entender a solução e aprender com ela =)