Considerando o fragmento de código abaixo, em relação ao escopo de variáveis em Javascript, assinale a afirmativa correta.
Serão impressos 1 e undefined;
Serão impressos 5 e 5;
Serão impressos undefined e undefined;
Serão impressos 6 e 4;
Serão impressos 1 e -1;
Soluções para a tarefa
Dentro do laço de repetição for, na primeira parte, declarou-se a variável i que só existe dentro do escopo do laço de repetição, ou seja, 'let'. Na segunda parte, o laço verifica a condição, ou seja, se i - que é igual a zero, for menor que 5, o programa deve incrementar +1.
Dentro do laço, a variável var, que vale para todo o escopo do programa, e não apenas para o bloco específico de código, recebe o valor = 0, e deve ser incrementada (+1) a cada loop. Porém, observe que a cada loop, apesar de a variável ser incrementada, ela recebe o valor 0 por atribuição. Logo, ao final do loop (5x) a variável 'a' será igual a 1.
Como o programa não encontrará a variável 'i', por existir apenas dentro do laço de repetição, irá declarar o erro "undefined", ou seja, a variável não existe, pois não foi "declarada".
Logo, a resposta é 1 e undefined.
Resposta:
Reposta: Serão impressos 1 e undefined;
Explicação: