Junior
O que é o escopo (scope) das variáveis em JavaScript?
sobes.tech IA
Resposta da IA
O âmbito define a disponibilidade de variáveis, funções e objetos numa parte específica do código.
Em JavaScript, existem vários tipos de âmbito:
- Âmbito global (Global Scope): Variáveis declaradas fora de qualquer função ou bloco estão acessíveis de qualquer parte do código.
- Âmbito de função (Function Scope): Variáveis declaradas dentro de uma função (antes do ES6) estão acessíveis apenas dentro dessa função e das funções aninhadas.
- Âmbito de bloco (Block Scope): Variáveis declaradas com
leteconstdentro de blocos (por exemplo,{}ou ciclos) estão acessíveis apenas dentro desse bloco.
Exemplo:
// Âmbito global
let globalVar = "Sou global";
function someFunction() {
// Âmbito de função (antes do ES6)
var functionVar = "Estou dentro da função";
console.log(globalVar); // Variável global acessível
if (true) {
// Âmbito de bloco (para let e const)
let blockVar = "Estou dentro do bloco";
console.log(functionVar); // Variável de função acessível
console.log(blockVar); // Variável de bloco acessível
}
// console.log(blockVar); // Erro: blockVar não acessível aqui
}
someFunction();
// console.log(functionVar); // Erro: functionVar não acessível aqui
Palavras-chave para declarar variáveis e seu impacto na abrangência:
| Palavra-chave | Âmbito antes do ES6 | Âmbito após o ES6 |
|---|---|---|
var |
Funcional | Funcional |
let |
- | De bloco |
const |
- | De bloco |
Compreender o âmbito é fundamental para evitar conflitos de nomes de variáveis e para escrever código limpo e previsível.