Maison > interface Web > js tutoriel > Comment appeler des méthodes statiques dans les classes ES6 : constructeur ou nom de classe ?

Comment appeler des méthodes statiques dans les classes ES6 : constructeur ou nom de classe ?

Patricia Arquette
Libérer: 2024-11-16 07:50:03
original
956 Les gens l'ont consulté

How to Call Static Methods in ES6 Classes: Constructor vs. Class Name?

Appel de méthodes statiques dans les classes ES6

Dans les classes ES6, les méthodes statiques peuvent être définies à l'aide du mot-clé static. On pourrait s'interroger sur la manière standard d'appeler ces méthodes statiques.

Deux approches :

1. Utilisation du constructeur

Cette approche implique d'utiliser la propriété constructeur de l'instance de classe pour accéder à la méthode statique. Par exemple :

class SomeObject {
  constructor(n) {
    this.n = n;
  }

  static print(n) {
    console.log(n);
  }

  printN() {
    this.constructor.print(this.n);
  }
}
Copier après la connexion

2. Utilisation du nom de classe

L'autre approche consiste à utiliser directement le nom de la classe pour appeler la méthode statique. Comme ceci :

SomeObject.print(123);
Copier après la connexion

Implications sur l'héritage :

L'utilisation de l'une ou l'autre approche a des implications différentes lorsqu'il s'agit de gérer l'héritage et de remplacer des méthodes statiques.

  • Approche constructeur : Utilise la répartition dynamique, elle fait donc référence à la classe de l'instance actuelle. Si la méthode statique est remplacée dans une sous-classe, la méthode remplacée sera appelée.
  • Approche du nom de classe : Fait directement référence à la classe dans laquelle la méthode statique est définie, en contournant tout remplacement potentiel en sous-classes.

Conclusion :

Les deux approches sont valables, mais le choix dépend du comportement souhaité dans le contexte de l'héritage. Si vous vous attendez à ce que les propriétés statiques restent cohérentes et appartiennent à la classe d'origine, utilisez l'approche du nom de classe. Si vous avez besoin d'un accès dynamique aux propriétés statiques de la classe de l'instance actuelle, utilisez l'approche constructeur.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal