Exercício 1

Comparação

Os dois scripts realizam uma requisição para buscar o endereço correspondente a um determinado CEP, preenchendo os campos do formulário com os dados retornados. O primeiro script utiliza a API XMLHttpRequest para fazer a requisição, enquanto o segundo script utiliza a função fetch.

Existem algumas diferenças notáveis entre ambos códigos JavaScript:

  1. Sintaxe:
    • O primeiro script utiliza a API XMLHttpRequest, que requer a criação de um objeto XMLHttpRequest, a definição de callbacks para tratar os eventos de resposta e o envio da requisição manualmente. O segundo script utiliza a função fetch, que retorna uma Promise e permite encadear métodos para tratar a resposta.
  1. Tratamento de erros:
    • O primeiro script verifica se houve algum erro na resposta através do status da requisição e da validade da resposta convertida em objeto JSON. Caso haja algum erro, ele exibe mensagens de erro no console. O segundo script utiliza os métodos catch() para tratar erros na comunicação com o servidor ou no processamento da requisição no PHP.
  1. Manipulação dos dados da resposta:
    • Ambos os scripts utilizam os dados retornados para preencher os campos do formulário, mas a forma de acesso aos dados é diferente. No primeiro script, os dados estão disponíveis diretamente na propriedade response do objeto XMLHttpRequest. No segundo script, é necessário chamar o método json() da resposta para converter os dados em um objeto JavaScript, que é passado para o próximo then().
  1. Legibilidade:
    • O segundo script utilizando fetch e encadeamento de métodos é considerado mais conciso e legível do que o primeiro script que utiliza XMLHttpRequest e callbacks.

Em termos de funcionalidade, ambos os scripts realizam a mesma tarefa de buscar o endereço correspondente a um CEP e preencher os campos do formulário. A escolha entre os dois scripts pode depender das preferências pessoais do desenvolvedor, das necessidades do projeto e do suporte das versões de navegadores-alvo. A API fetch é mais recente e mais moderna, e é amplamente suportada pelos navegadores modernos, enquanto a API XMLHttpRequest é mais antiga e possui suporte em navegadores mais antigos.