Escopo - sabrinabm94/javascript GitHub Wiki

Global

É o escopo geral, onde todas as variáveis podem ser lidas em todas as áreas do arquivo javascript em questão.

// escopo global
let name = 'Sabrina';

function notAGlobalScope() {
// escopo específico
let nickname = 'Brina';
let newName = 'Sara';

console.log('notAGlobalScope newName: ' + newName); // Sara
console.log('notAGlobalScope nickname: ' + nickname); // Brina

name = 'Rebeka'; // A variável global pode ser alterada em qualquer parte do código
console.log('notAGlobalScope name: ' + name); // Rebeka
}

console.log('Global name: ' +  name); // Sabrina

notAGlobalScope();
console.log('Global name: ' +  name); // Rebeka
console.log('Global nickname: ' +  nickname); // Not defined

Específico

Se uma variável é definida dentro de uma função, existirá somente dentro desta função, e será undefined nos outros blocos de código do arquivo javascript.