Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema na variavel

Pessoal boa tarde, Tentei fazer validando o formato do que deve ser digitado. Gostaria de opinião se ficou bom e valido desta forma:

class ArquivoHelper{

  static validaTexto(texto){
    if(!/^[A-Z]+\s\/\s\d+\s\/\s[A-Z]+$/.test(texto.value))
        throw new Error("Siga o formato correto: nome / tamanho(digitos) / tipo");
    return texto.value.split("/");
  }

}

class ArquivoController {

    constructor() {
        this._inputDados = document.querySelector('.dados-arquivo');
    }

    envia() {
        //cria um Arquivo com as suas propriedades;
        var arquivo = new Arquivo(...ArquivoHelper.validaTexto(this._inputDados));
        this._limpaFormulario();
        // exibe mensagem no console com os dados do arquivo.
        this._imprimeDados();
    }

    _limpaFormulario() {
        this._inputDados.value = '';
        this._inputDados.focus();
    }

    _imprimeDados() {
      console.log(`Nome:${arquivo.nome} Tamanho:${arquivo.tamanho}     Tipo:${arquivo.tipo}`);
    }

}

Porem a duvida maior ficou no metodo _imprimeDados(). Ele não esta reconhecendo a variavel arquivo. (mesmo usando o var pra trabalhar com todo o escopo ele da erro de que a var "arquivo" não é reconhecido). Alguem entende o motivo?

Obrigado Abraços.

1 resposta
solução!

Se vc declara variável com var dentro de método ou função ela é local, nunca global. Por isso não é encontrada.