Dans les langages de programmation orientés objet comme Java, les variables statiques sont couramment utilisées pour déclarer les membres qui appartiennent à une classe et sont partagés par tous instances de cette classe. Cet article explore comment ce concept est implémenté en JavaScript.
En JavaScript, qui suit un modèle d'héritage basé sur un prototype, les fonctions servent de constructeurs. Les propriétés statiques peuvent être définies dans la fonction constructeur elle-même, car elles sont associées à l'objet fonction.
function MyClass() { // Private variable var privateVariable = "foo"; // Public variable this.publicVariable = "bar"; // Public method this.privilegedMethod = function() { alert(privateVariable); }; } // Static variable shared by all instances MyClass.staticProperty = "baz";
Dans cet exemple, staticProperty est défini dans la fonction MyClass et est accessible dans toutes les instances de la classe.
ES6 a introduit le mot-clé class pour déclarer les classes, fournissant du sucre de syntaxe pour l'héritage basé sur un prototype. Les propriétés et méthodes statiques peuvent être définies à l'aide du mot-clé static.
class MyClass { constructor() { // Private variable const privateVariable = 'private value'; // Public property this.publicVariable = 'public value'; // Public method with access to private variable this.privilegedMethod = function() { console.log(privateVariable); }; } // Prototype methods publicMethod() { console.log(this.publicVariable); } // Static property shared by all instances static staticProperty = 'static value'; // Static method static staticMethod() { console.log(this.staticProperty); } }
Ici, staticProperty et staticMethod sont définis en tant que membres statiques de la classe MyClass, les rendant accessibles sans créer d'instance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!