Escopos
Deslize para mostrar o menu
Um Escopo é simplesmente uma área no código onde uma variável pode ser acessada ou utilizada.
Existem dois tipos de escopos:
- Escopo Global;
- Escopo Local.
Se uma variável é definida dentro de um bloco de código (entre chaves {}), diz-se que ela possui escopo local. Isso significa que só pode ser acessada de dentro daquela função ou bloco de código, ou de quaisquer blocos aninhados:
123456789101112function exampleFunc() { let exampleVariable = 10; console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Shows error
Uma variável definida fora de qualquer bloco de código possui Escopo Global e pode ser acessada de qualquer lugar:
123456789101112let exampleVariable = 10; function exampleFunc() { console.log(exampleVariable); // Valid if(10 + 10 == 20) { console.log(exampleVariable); // Valid } } exampleFunc(); console.log(exampleVariable); // Valid
Uma variável definida em um escopo inferior (aninhado) não pode ser acessada a partir de um escopo superior (pai):
function exampleFunc() {
if (10 + 10 == 20) {
let exampleVariable = 10;
console.log(exampleVariable);
// Output: 10
// The variable is defined in this block, so it is accessible here
}
console.log(exampleVariable);
// ReferenceError: exampleVariable is not defined
// The variable was defined inside the if-block and is not accessible outside it
}
exampleFunc();
console.log(exampleVariable);
// This line will never execute because the script stops after the first ReferenceError
Este exemplo contém erros intencionais para ilustrar como o escopo de variáveis funciona. Executar o código interromperia a execução após o primeiro erro, portanto o trecho é apresentado apenas para fins de explicação.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo