Week 3 Front end: Scope documentatie - norakramer1/blokTech GitHub Wiki

Scope concept Javascript

Scope: Waar kun je de Javascript variabelen, functies en objecten gebruiken in je code, de scope bepaald de zichtbaarheid van je variabelen ed. in je code.

Global Scope

Als een variabele buiten een function staat kun je deze overal in je code gebruiken.

var number = 1

function calc() {
  return number;
}

console.log(calc());

In dit voorbeeld word het nummer in de variabele weergegeven in de browser. Je kunt de variabele ook weer gebruiken in een andere stuk code.

Local scope

Als een variabele binnen een function staat kun je deze alleen in die function gebruiken en niet in een andere function

function calc() {
var number = 1
  return number;
}

console.log(calc());

Nu staat de variabele in de function die het ook returned, dit zou nog steeds '1' weergegeven in de browser.

function calc() {
var number = 1
  return number;
}

console.log(number);

Als ik nu de variabele number zou willen loggen met console.log zou dit niet werken omdat de variabele in de local scope van de function staat en je daar niet bij kunt. Als ik de variabele weer uit de function zou halen zou het wel weer werken.

Scopes kunnen ook Hiërarchie bevatten Child Scopes kunnen zo toegang krijgen tot Parent Scopes maar niet andersom

Waarom je niet overal global scopes kan gebruiken

  • Met een Local Scope kun je verschillende variabelen met dezelfde naam in verschillende functions gebruiken, omdat ze niet beschikbaar zijn voor andere functions

  • Als je variabelen in de Global Scope neerzet nemen ze ruimte op in de browser en gebruiken ze meer resources, als je Local scope Variabelen gebruikt word deze ruimte alleen ingenomen als je de function gebruikt

Bronnen