TypeScript: Scope
Variabelen "leven" binnen een bepaalde scope. Buiten deze scope zijn ze niet toegankelijk.
In onderstaand voorbeeld is n beschikbaar buiten en binnen de if structuur:
let n: number = 1;
if(true){
console.log(n); // === 1
}
console.log(n); // === 1
De scope van de variabele is dus inclusief alle structuren die zich in de scope bevinden:
let n: number = 1;
if(true){
if(true{
console.log(n); // === 1
}
}
console.log(n); // === 1
Ze is niet beschikbaar buiten haar scope. Dwz, buiten de { } waarbinnen de variabele gedefinieerd is:
if(true){
let n: number = 1;
console.log(n); // === 1
}
console.log(n); // ERROR
Een andere if statement heeft ook geen toegang tot deze variabele:
if(true){
let n: number = 1;
console.log(n); // === 1
}
console.log(n); // ERROR
if(true){
console.log(n); // ERROR
}
De variabele is dus enkel beschikbaar binnen de { } waar ze gedefinieerd staat.
Gebruik altijd let en const. Nooit var:
var n: number = 1;
if(true){
var n: number = 2;
console.log(n); // === 2
}
console.log(n); // 2
if(true){
console.log(n); // 2
}
Last updated
Was this helpful?