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

RangeError: Maximum call stack size exceeded

Minha Classe está assim, no arquivo ContaCorrent.js:

import { Cliente } from "./Cliente.js"

export class ContaCorrente{
    static numeroDeContas = 0


    set cliente(novoValor){
        if(novoValor instanceof Cliente){
        this.cliente = novoValor
        }
    }

    get cliente(){
        return this.cliente
    }

    get saldo(){
        return this._saldo
    }


    constructor(cliente, agencia){
        this.cliente = cliente
        this.agencia = agencia
        this._saldo = 0
        ContaCorrente.numeroDeContas += 1
    }


    sacar(valor){
        if(this._saldo < valor){
            return
        }
        this._saldo -= valor
    }


    depositar(valor){
        if(valor < 0) return
        this._saldo += valor    
        console.log(this._saldo)
    }


    tranferir(valor, conta){
        const valorSacado = this.sacar(valor)
        conta.depositar(valorSacado)
    }
}

Já o arquivo index.js está assim:

import { Cliente } from "./Cliente.js"
import { ContaCorrente } from "./ContaCorrente.js"
import { ContaPoupanca } from "./ContaPoupanca.js"


const cliente1 = new Cliente('Ricardo', 12345678912)
const contaCorrenteRicardo = new ContaCorrente(cliente1, 1001)
const contaPoupanca = new ContaPoupanca(33, cliente1, 1001)

contaCorrenteRicardo.depositar(500)

console.log(contaPoupanca)

Estou querendo visualizar o objeto "contaPoupanca" mas quando reproduzo o código, aponta o erro:

file:///C:/Users/natan/OneDrive/Documentos/Alura/Projeto/OO%20JS%20-%20Heranca/ContaCorrente.js:9 this.cliente = novoValor ^

RangeError: Maximum call stack size exceeded

2 respostas
solução!

Tenta utilizar na linha 9 da classe ContaCorrente

this._cliente = novoValor

ao inves de

this.cliente = novoValor

Vlw Rodrigo, resolveu!!

Eu só não entendi o pq kkkkk

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software