Variables statiques en JavaScript
- Utiliser la propriété d’une fonction pour créer des variables statiques en JavaScript
- Utilisez IIFE (expression de fonction immédiatement invoquée) pour créer des variables statiques en JavaScript
-
Utilisez
arguments.callee
pour créer des variables statiques en JavaScript - Utiliser des constructeurs pour créer des variables statiques en JavaScript
Ce didacticiel explique comment créer des variables statiques en JavaScript. Les variables statiques sont des variables, généralement utilisées dans les fonctions, qui conservent leur valeur entre les appels de fonction. Le mot-clé static
permet de définir une propriété statique ou une méthode d’une classe.
Utiliser la propriété d’une fonction pour créer des variables statiques en JavaScript
Les fonctions en JavaScript sont des objets et peuvent avoir des propriétés. Ainsi, nous pouvons créer des variables statiques en déclarant les propriétés de la fonction. Ils conservent leurs valeurs comme des variables globales et ne peuvent pas être modifiés en dehors des fonctions, ce qui les rend beaucoup plus ordonnés que les variables globales.
function getId() {
if (typeof getId.counter == 'undefined') {
getId.counter = 0;
}
alert(++getId.counter);
}
L’appel de la fonction ci-dessus plusieurs fois augmente la valeur du compteur et ne peut pas être accédé en dehors de la fonction comme les variables globales arrêtant tout le désordre.
Utilisez IIFE (expression de fonction immédiatement invoquée) pour créer des variables statiques en JavaScript
Les IIFE sont des fonctions qui sont exécutées dès qu’elles sont définies. Il se compose de deux parties:
- Une fonction anonyme avec une portée lexicale entourée par l’opérateur de regroupement
()
. - Expression de fonction directement interprétée par JavaScript.
var incr = (function() {
var i = 1;
return function() {
return i++;
}
})();
incr(); // returns 1
incr(); // returns 2
A chaque appel de la fonction, le compteur i
augmente de un. i
est inaccessible à l’extérieur car c’est la propriété d’une fonction, tout comme une variable statique typique à l’intérieur d’une classe.
Utilisez arguments.callee
pour créer des variables statiques en JavaScript
Nous pouvons utiliser arguments.callee
pour stocker des variables statiques en JavaScript. Il fait référence à la fonction en cours d’exécution et nous pouvons lui attacher des propriétés directement comme nous le ferions à un objet fonction.
function() {
arguments.callee.myStaticVar = arguments.callee.myStaticVar || 1;
arguments.callee.myStaticVar++;
alert(arguments.callee.myStaticVar);
}
Cette méthode est assez similaire à la méthode 1, la seule différence étant qu’au lieu d’attacher directement des propriétés, nous utilisons arguments.callee
pour ajouter des propriétés à la fonction en cours d’exécution.
Utiliser des constructeurs pour créer des variables statiques en JavaScript
Cette méthode est la version équivalente des langages orientés objet fortement typés comme C++
/ Java
/ C#
. Nous essayons d’assigner des variables à un type entier et non à toutes les instances.
function delftClass() {
var privateVariable = 'foo';
this.publicVariable = 'bar';
this.privilegedMethod = function() {
alert(privateVariable);
};
}
delftClass.prototype.publicMethod = function() {
alert(this.publicVariable);
};
delftClass.staticProperty = 'baz';
var myInstance = new delftClass();
Ici, nous créons la fonction de construction delftClass
puis attribuons une propriété statique qui n’a rien à voir avec l’instance créée. JavaScript traite les fonctions comme des objets, donc étant un objet, nous pouvons affecter des propriétés à une fonction. Toutes les instances partageront la variable statique.
Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.
LinkedInArticle connexe - JavaScript Variable
- Accéder à la variable de session en JavaScript
- Vérifier les variables indéfinies et nulles en JavaScript
- Masquer la valeur de la variable en JavaScript
- Pourquoi les variables globales donnent des valeurs indéfinies en JavaScript
- Utiliser la variable JavaScript en HTML
- Afficher une variable JavaScript dans le corps HTML