Ao emitir uma NF-e com operPres = 2 (operação não presencial...

Próximas questões
Com base no mesmo assunto
Q3506465 Programação
Ao emitir uma NF-e com operPres = 2 (operação não presencial, como vendas pela internet), o campo de e-mail (email) do destinatário não pode estar vazio. A aplicação deve bloquear a emissão nesse cenário. Implementa corretamente essa validação em JavaScript a instrução:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E

Tema central da questão:
Esta questão trata da validação de campos obrigatórios em formulários usando JavaScript, com ênfase em lógica condicional e manipulação de exceções. O objetivo é impedir a emissão de uma NF-e (Nota Fiscal Eletrônica) quando a operação não for presencial (operPres == 2) e o campo de e-mail estiver vazio (!email).

Resumo teórico:
Em JavaScript, utilizamos if para estruturas condicionais e throw new Error() para lançar exceções, interrompendo o fluxo do programa quando uma regra não é atendida. O operador && (E lógico) garante que ambas as condições sejam verdadeiras para executar a ação, enquanto !email verifica se o campo de e-mail está vazio, nulo ou indefinido. Fontes: Mozilla Developer Network (MDN Web Docs), documentação oficial JavaScript.

Justificativa da alternativa correta (E):
A instrução if (operPres === 2 && !email) throw new Error("Email obrigatório"); está correta porque:

  • Usa === (igualdade estrita), recomendada em JavaScript para evitar conversões automáticas de tipo.
  • Garante que operPres seja exatamente 2 e (&&) que o e-mail não tenha valor.
  • throw new Error() é a forma padrão de lançar exceções em JavaScript.
Dessa forma, a aplicação bloqueia corretamente a emissão da NF-e quando necessário.

Análise das alternativas incorretas:

  • A: Usa == (comparação não estrita) e throw new ArgumentException, que não existe em JavaScript (é de outras linguagens como C#).
  • B: Usa || (OU lógico), o que faria a exceção ser lançada mesmo se apenas uma condição for verdadeira, e Exception não é padrão em JavaScript.
  • C: Usa raise ValueError, sintaxe do Python e não de JavaScript.
  • D: Usa || e IllegalArgumentException, que não existe em JavaScript (é do Java).

Dica de interpretação:
Atente-se para compatibilidade da sintaxe com a linguagem pedida e ao uso correto dos operadores lógicos. Observe nomes de exceções e operadores de comparação: === (igualdade estrita) é mais seguro em JavaScript.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Gabarito: alternativa E

A) Incorreta.

ArgumentException não existe em JavaScript, sendo uma exceção típica de linguagens como C# ou Java.

B) Incorreta.

O operador lógico está incorreto. O uso de OU faz com que o erro seja lançado mesmo quando a operação não é não presencial.

C) Incorreta.

Raise ValueError é sintaxe da linguagem Python, não de JavaScript.

D) Incorreta.

IllegalArgumentException não existe em JavaScript e o operador lógico também está errado, pois deveria ser E.

E) Correta.

Utiliza sintaxe válida de JavaScript, operador lógico correto e lança um erro adequado quando a operação é não presencial e o e-mail está vazio.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo