Maison >interface Web >js tutoriel >Comment les variables statiques sont-elles déclarées et utilisées en JavaScript ?

Comment les variables statiques sont-elles déclarées et utilisées en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-06 17:14:14972parcourir

How are Static Variables Declared and Used in JavaScript?

Déclaration de variables statiques en JavaScript

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.

Variables statiques dans ES5

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.

Variables statiques dans les classes ES6

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn