Front end Hoisting - norakramer1/blokTech GitHub Wiki
Hoisting
Hoisting betekend dat functies (met een naam, dus geen anonieme functies) en variabelen naar de bovenkant van de code ge-hoist worden tijdens het compilen van de code. Declaraties worden naar de bovenkant van de scope verplaatst. Hierdoor kan een variabele gedeclareerd voordat je deze gebruikt.
Normaal declareer je een variabele, om ze te gebruiken roep je functies na deze gedeclareerd te hebben maar met hoisting hoeft dit niet. Met een global scope kun je de variabele altijd aanroepen.
Variable hoisting
a = 10; // Assign 10 to a
element = document.getElementById("demo"); // Find an element
elem.innerHTML = a; // Display a in the element
var a; // Declare a
var a; // Declare a
a = 10; // Assign 10 to a
elem = document.getElementById("demo"); // Find an element
elem.innerHTML = a;
Hoisting verplaatst standaard alle declaraties naar boven.
Function hoisting
Het is bijna hetzelfde als variabelen hoisting, het verplaatst de variablen naar boven in de code bij het compilen.
let a = 10,
b = 20;
let result = add(a,b);
console.log(result);
function add(c, d){
return c + d;
In dit voorbeeld hebben we de functie add () aangeroepen voordat we deze definieerden.
Er is vaak geen reden om alles boven de declaraties te hoisten. Dit kost meer ruimte voor de browser omdat deze dan eerst door alle functions heen zou moeten gaan.
Bronnen:
Hoisting - MDN Web Docs Glossary: Definitions of Web-related terms | MDN. (2021, 19 februari). MDN. https://developer.mozilla.org/en-US/docs/Glossary/Hoisting
Dani Krossing. (2018b, juni 4). 18: Hoisting in JavaScript Explained | What is Hoisting in JavaScript | JavaScript Tutorial. YouTube. https://www.youtube.com/watch?v=ppMlvGMT2qE