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

SyntaxError: Unexpected token -

Boa tarde! Fiz igualzinho o instrutor e continua aparecendo esse erro. Eu não consigo entender o porquê, alguém pode me ajudar por favor?

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

const cliente1 = new Cliente();
cliente1.nome = "Ricardo";
cliente1.cpf = 11122233309;

const cliente2 = new Cliente();
cliente2.nome = "Alice";
cliente2.cpf = 88822233309;

const contaCorrenteRicardo = new ContaCorrente();
contaCorrenteRicardo.agencia = 1001;

contaCorrenteRicardo.depositar(-100);
contaCorrenteRicardo.depositar(100);
contaCorrenteRicardo.depositar(100);

const valorSacado = contaCorrenteRicardo.sacar(50);
console.log(valorSacado);

console.log(contaCorrenteRicardo);

Ciente.js

export class Cliente{
    nome;
    cpf;
}

ContaCorrente.js

export class ContaCorrente{
    agencia;
    //#saldo = 0//
    _saldo = 0;

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

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

package.json 

{
  "name": "bytebank",
  "version": "1.0.0",
  "description": "Projeto do Bytebank para os seus clientes",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Jota",
  "license": "ISC",
  "type": "module"
}
8 respostas

Fala ai João, tudo bem? Estranho, olhando o código parece que tudo esta ok.

Consegue compartilhar o projeto comigo? Assim eu consigo analisá-lo com mais calma.

Pode compartilhar através do Github ou Google Drive (zipado).

Fico no aguardo.

O método depositar() só aceita valores positivos, conforme definido no Cliente.js:

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

Seu primeiro depósito foi de um valor negativo:

contaCorrenteRicardo.depositar(-100);

Acredito que seja isso!

Bom dia Matheus Castiglioni tudo bem? Segue o link para o código: https://github.com/Jotta-art/Bytebank.git

Bom dia Lucas tudo bem? Mesmo eu tirando esse código continua sem funcionar. E mesmo assim não deveria ocorrer nenhum erro, ainda mais um SyntaxError: Unexpected token, pois ao receber um valor negativo o método depositar não faz nada.

Aqui segue dois links para o erro mais especificamente, acredito que seja algum erro na configuração do Node JS.

https://imgur.com/a/XGbYjJl https://imgur.com/SUoQe50

solução!

Fala João, testei seu projeto e o mesmo funcionou certinho.

Acho que pode ser a versão do Node instalada na sua máquina, para que o Node funcione com ES Modules de forma nativa precisa ser à partir da 14.x.

Se for abaixo dela, por exemplo 12.x, você precisa passar um parâmetro para liberar funcionalidades experimentais.

Recomendo você utilizar o NVM para controlar versões do Node na mesma máquina: https://github.com/nvm-sh/nvm

Espero ter ajudado.

Oii Matheus era isso mesmo. Quando fui ver percebi que baixei o Node 10 x. Tentei utilizar o NPM e deu outros erros, então resolvi instalar o Node 14 x mesmo pra ver se funcionava e funcionou. Obrigado!

Magina João, sempre que precisar não deixe de criar suas dúvidas.

Abraços e 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