TypeScript, étant un sur-ensemble typé de JavaScript, offre différents types de portées de variables. De la même façon que JavaScript, il dispose de la portée globale, de la portée locale et de la portée de classe - ce qui rend la réponse 'Toutes les précédentes' correcte à la question.
Comme son nom l'indique, une variable globale est accessible de n'importe quel endroit de votre code. Par exemple :
let globalVariable = "Je suis une variable globale";
function checkVariable() {
console.log(globalVariable);
}
checkVariable();
Dans cet exemple, globalVariable
est une variable globale qui peut être accessed à l'intérieur de la fonction checkVariable
.
La portée locale, également appelée portée de fonction, est restreinte au bloc ou à la fonction où la variable a été déclarée. Une variable déclarée dans une fonction ne peut pas être accessible à l'extérieur de celle-ci. Par exemple :
function checkVariable() {
let localVariable = "Je suis une variable locale";
console.log(localVariable);
}
checkVariable();
console.log(localVariable);
Dans ce cas, la console affichera une erreur lors du second console.log(localVariable);
car localVariable
n'est pas accessible en dehors de la fonction checkVariable
.
En TypeScript, vous pouvez également définir des variables dans une classe. Ces variables, connues sous le nom de variables de membre, ne sont disponibles qu'à l'intérieur de la classe dans laquelle elles ont été définies :
class MyClass {
private classVariable = "Je suis une variable de classe";
checkVariable() {
console.log(this.classVariable);
}
}
let instance = new MyClass();
instance.checkVariable();
Dans cet exemple, classVariable
ne peut être utilisée qu'à l'intérieur de MyClass
.
Lors de la manipulation des variables en TypeScript, il est important de choisir la bonne portée pour chaque variable en fonction de l'endroit où elle doit être accessible. Ce faisant, vous maintiendrez un code plus sûr, plus propre et plus lisible. Le choix de la bonne portée de variable dépend fortement du cas d'utilisation. Cependant, comme pour de nombreux autres langages de programmation, il est généralement préférable de restreindre autant que possible la portée d'une variable afin de minimiser les effets de bord indésirables et d'encapsuler le comportement de votre code.