Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Tipo de variável dentro da função

Oi galerinha!

Tio Dan com um novo questionamento.

Crei uma função, porém da o typescript (acho que ts é typescript) 1068

Segundo o erro não estou declarando o data type, se não me engano..

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O código está da seguinte forma

export class Maquininha{

credito ;
creditoParcelado;
debito;

set credito (credito){
     this.credito = credito;
}

get credito(){
    return  this.credito;
}

set creditoParcelado(creditoParcelado){
    this.creditoParcelado = creditoParcelado;
}

get creditoParcelado(){
    return this.creditoParcelado
}

set debito(debito){
    this.debito = debito;
}

get debito(){
    return this.debito
}

function valorCredito(credito) {
   var credito = (get.credito * 3.89)/100;
}


function valorDebito(valorD){
    this.valorD = (get.debito * 1.85)/100;
    console.log("O valor do débito é " + valorD)
}

function valorP(valorP){
    this.valorP = (((get.creditoParcelado + 3.89)/100) * 1.99) / 100;
    console.log("O valor do credito parcelado é " + valorP)
}

Quem puder me auxiliar, desde já agradeço!

3 respostas
solução!

Oi Dante

Como você está criando uma Class você não irá criar uma função com a palavra reservada function.

Você pode olhar aqui na documentação esse detalhe: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Classes

Parabéns pelo empenho nos estudos!

Continue praticando e qualquer dúvida pode contar com a gente.

Oi Guilherme, tudo bom com você?

Eu retirei as funções de dentro da classe, mas quando crio o objeto e insiro o valor de crédito, informa o erro TypeError: LojaDante.credito is not a function.

Bom já é um erro diferente hahahaha vou correr atrás de resolve.

Obrigado por enviar a Documentação da Classe em JavaScript, irei ler aqui.

Obrigado pela orientação, te desejo uma excelente semana.

Abraços

Oi Dante

A construção que você fez no seu código vai retornar esse erro mesmo porque o LojaDante.credito não é uma função, quando você utiliza o get e set em uma classe de JS ele trata como se fosse uma variável e não uma function, vou dar um exemplo simples aqui, e repare que pra chamar o get ou set você irá utilizar o this e não o get:

<script>
  class ContaCorrente {
    saldo = 0;

    set alterarSaldo(valor) {
      this.saldo = valor;
    }

    get retornarSaldo() {
      return this.saldo;
    }

    depositar(valor) {
      this.alterarSaldo = valor;
    }

    sacar(valor) {
      this.alterarSaldo = this.retornarSaldo - valor;
    }

    tirarExtrato() {
      return this.retornarSaldo;
    }
  }

  const conta = new ContaCorrente();

  conta.depositar(100);
  console.log(conta.tirarExtrato()); // retorna 100

  conta.sacar(70);
  console.log(conta.tirarExtrato()); // retorna 30
</script>