2
respostas

Curso de typeScript, parte 1 aula 3

Estou codificando e a IDE não acusa nenhum erro no código mas quando eu compilo o código e é gerado os arquivos .js me retorna esses erros no console do browser:

Uncaught SyntaxError: Unexpected strict mode reserved word Negociacao.ts:4 Uncaught SyntaxError: Unexpected identifier NegociacaoController.ts:3 Uncaught SyntaxError: Unexpected identifier Negociacoes.ts:3 Uncaught ReferenceError: NegociacaoController is not defined App.ts:1 at App.ts:1

--- Classe Negociacao.ts class Negociacao { constructor(data, _quantidade, _valor) { this.data = data; this.quantidade = quantidade; this.valor = valor; } get data() { return this.data; } get quantidade() { return this.quantidade; } get valor() { return this.valor; } get volume() { return this.quantidade * this.valor; } }

-- Classe NegociacaoController.ts class NegociacaoController{

private inputData: HTMLInputElement;
private inputQuantidade: HTMLInputElement;
private inputValor: HTMLInputElement;

constructor() {
    this.inputData = <HTMLInputElement>document.querySelector('#data');
    this.inputQuantidade = <HTMLInputElement>document.querySelector('#quantidade');
    this.inputValor = <HTMLInputElement>document.querySelector('#valor');
}

adiciona(event: Event){
    event.preventDefault();
    const negociacao = new Negociacao(
        new Date(this.inputData.value.replace(/-/g,',')),
        parseInt(this.inputQuantidade.value),
        parseFloat(this.inputValor.value)
    );
console.log(negociacao.quantidade+20)
}

}

---Classe Negociacoes.ts class Negociacoes{

private _negociacoes: Array<Negociacao>=[];

adicionar(negociacao: Negociacao){
    this._negociacoes.push(negociacao);
}

paraArray(){
    return this._negociacoes;
}

}

-- Classe App.ts const controller = new NegociacaoController();

document.querySelector(".form").addEventListener('submit', controller.adiciona.bind(controller));

CÓDIGO NO GIT:

https://github.com/diegofbsb/typeScript/tree/master/alurabank

2 respostas

Consegui resolver com a atualização da ordem de importação dos escripts no index.html:

<script src="js/models/Negociacao.js"></script>
<script src="js/models/Negociacoes.js"></script>
<script src="js/views/NegociacaesView.js"></script>
<script src="js/controllers/NegociacaoController.js"></script>
<script src="js/app.js"></script>

Oi, Diego, tudo bem?

Que bom que resolveu e obrigada por compartilhar sua solução! Ela é de suma importância :}

Bons estudos!

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