No ES6 (ECMAScript 2015), qual palavra-chave introduzida pe...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - let
Vamos explorar o contexto dessa questão:
O ES6 (ECMAScript 2015) introduziu diversas melhorias e novos conceitos na linguagem JavaScript, com o intuito de resolver problemas comuns e tornar o código mais seguro e previsível. Um dos problemas abordados foi o escopo de variáveis e o hoisting, que é o comportamento padrão do JavaScript de mover declarações para o topo do escopo.
Anteriormente, no JavaScript, utilizava-se a palavra-chave var
para declarar variáveis. No entanto, var
possui escopo de função e não de bloco, o que pode levar a comportamentos inesperados quando as variáveis são usadas fora de seu bloco de origem.
Com a introdução do ES6, foram adicionadas duas novas palavras-chave para declaração de variáveis: let
e const
. Ambas possuem escopo de bloco, ou seja, são limitadas ao bloco onde foram declaradas (como dentro de um if
, for
ou while
), e não ao escopo de função ou global, reduzindo significativamente problemas associados ao hoisting e ao escopo global inadvertido.
Justificativa da alternativa correta:
A alternativa correta é a alternativa C - let.
A palavra-chave let
permite declarar variáveis com escopo de bloco, o que significa que a variável só existe dentro do bloco onde foi criada. Isso melhora a legibilidade e manutenção do código, além de evitar muitos dos problemas tradicionais associados ao uso de var
, como o uso inadvertido de variáveis globais e comportamentos inesperados causados pelo hoisting.
Por que as outras alternativas estão incorretas:
A - var
A palavra-chave var
possui escopo de função, não de bloco. Portanto, ela não resolve os problemas mencionados, como o hoisting e o escopo global inadvertido.
B - const
A palavra-chave const
também foi introduzida no ES6 e possui escopo de bloco, assim como let
. No entanto, const
é usada para declarar constantes, ou seja, variáveis que não podem ser reatribuídas depois de sua declaração. A questão pede especificamente uma palavra-chave para declaração de variáveis com escopo de bloco, e let
é a opção mais adequada, pois permite reatribuição de valor.
D - function
A palavra-chave function
é usada para declarar funções em JavaScript. Embora funções possam ter escopo de bloco, a questão é sobre a declaração de variáveis, não funções. Portanto, esta alternativa não é pertinente.
Espero que esta explicação tenha esclarecido suas dúvidas sobre o tema. Caso tenha mais questões ou precise de mais detalhes, estou à disposição para ajudar!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo