Introduction à la méthode statique JavaScript

Les méthodes statiques JavaScript sont généralement utilisées pour créer des fonctions utilitaires. Ils sont introduits dans ES6 pour la méthode spécifique à la classe pour la programmation orientée objet en JavaScript.

Pour déclarer une méthode statique, nous pouvons simplement utiliser un mot-clé statique avec la signature de la méthode. Les méthodes statiques ne sont pas appelées sur l'instance de classe qu'elles sont appelées directement sur la classe.

Nous pouvons donc dire que JavaScript nous fournit une méthode statique qui appartient à la classe mais pas à l'instance de la classe. Ainsi, comme Java, nous n'avons pas besoin d'une instance de la classe pour appeler également la méthode statique en JavaScript. Par conséquent, la méthode statique en JavaScript appartient à la classe elle-même.

Syntaxe:

static methodName()()

En JavaScript, nous utilisons également le mot-clé statique pour définir une méthode en tant que méthode statique. Nous avons juste besoin d'utiliser le mot-clé statique avec le nom de la méthode. Les noms de méthode peuvent être n'importe quoi. Il existe de nombreux points liés à ce mot clé statique, vérifions-les un par un:

  • Une classe peut contenir n'importe quel nombre de méthodes statiques. En d'autres termes, une classe peut avoir plusieurs méthodes statiques.
  • La méthode statique peut porter n'importe quel nom comme n'importe quelle autre méthode ou fonction.
  • Pour appeler une méthode statique à partir d'une autre méthode statique, nous pouvons utiliser ce mot-clé.
  • La méthode statique peut être utilisée pour créer des fonctions utilitaires.
  • Si nous voulons appeler une méthode statique à partir de la méthode non statique dans de tels cas, nous ne pouvons pas utiliser ce mot-clé. Nous devons appeler la méthode statique par le nom de classe ou comme propriété du constructeur.
  • Nous pouvons déclarer plusieurs méthodes statiques avec le même nom mais si nous le faisons, JavaScript appelle toujours la dernière.

Un exemple simple pour démontrer la syntaxe de la méthode statique.

Code:


class Syntax
(
static displayMessage()
(
return "static method called"
)
)
document.writeln(Syntax.displayMessage());

Dans l'exemple ci-dessus, nous appelons la méthode statique avec le nom de classe ne créant pas l'instance de la classe. Utilisation du nom de classe comme instance uniquement.

Comment fonctionnent les méthodes statiques en JavaScript?

  • Les méthodes statiques sont des méthodes qui nécessitent qu'un objet d'une classe soit créé avant leur appel. Pour les appeler, nous devons créer l'objet de la classe dans laquelle il est défini. La méthode statique reçoit un appel de deux manières, l'une utilisant ce mot-clé, l'autre provenant du constructeur.
  • Les méthodes statiques ne peuvent pas appeler directement la méthode non statique. Les méthodes on-statiques utilisent l'état de variable d'instance pour affecter leur comportement. La méthode statique ne peut pas non plus voir l'état de la variable d'instance, donc si nous essayons d'appeler la méthode non statique à partir du compilateur de méthode statique se plaindra.
  • De plus, la méthode statique ne peut pas utiliser la variable d'instance non statique. La méthode statique ne peut faire référence à aucune variable d'instance de la classe. La méthode statique ne sait pas quelle valeur de variable d'instance utiliser.
  • Alors que dans le cas des méthodes non statiques, ils ont un mot-clé statique avec le nom de la méthode et si nous voulons travailler avec des méthodes non statiques, nous devons créer l'objet de cette classe car il n'appartient qu'à la classe dans laquelle il est déclaré. Les méthodes non statiques peuvent facilement accéder à toute variable statique et à toute variable statique sans l'instance de classe.

Afin d'appeler une méthode statique à partir d'une autre méthode statique, nous pouvons utiliser le mot-clé «this».

Code:

class StaticMethodCallDemo (
static staticMethodOne() (
return 'Static method one is called from ';
)
static sttaicMethodTwo() (
return this.staticMethod() + ' static method two';
)
)
StaticMethodCallDemo.staticMethodOne();
StaticMethodCallDemo.sttaicMethodTwo();

Mais que faire si nous voulons appeler une méthode statique à partir de la méthode non statique. Pour cela, nous pouvons aller avec l'une des deux approches

1) nom_classe.nom_méthode_statique (); : En utilisant le nom de la classe
2) this.constructor.static_method_name (); : Ou en utilisant la propriété constructeur.

Code:

class StaticMethodCallDemo2 (
constructor() (
console.log(StaticMethodCallDemo2.staticMethodOne());
// 'static method called using class name.'
console.log(this.constructor.staticMethodOne());
// 'static methed called using constructor property.'
)
static staticMethodOne() (
return 'static method has been called.';
)
)

JavaScript a également l'introduction de classes dans ES6, nous pouvons donc maintenant utiliser la méthode statique, les constructeurs, les super appels au parent et l'héritage, ce qui rendra l'interopérabilité beaucoup plus facile pour le développeur. Nous pouvons donc avoir une sous-classe pour une classe parente et toute méthode que nous déclarons dans la classe parente qui sera également disponible dans la sous-classe. Les accesseurs Getter et Setter sont également introduits dans ES5 et peuvent être utilisés avec le mot-clé statique. L'exemple ci-dessous montre comment l'utiliser avec le mot clé statique.

Code:

class Demo(
constructor(name)(
this.name = name
)
static get Leader()(
return new Demo(abc)
)
)

Exemples de méthode statique JavaScript

Voici quelques exemples de méthode statique javascript donnés ci-dessous:

Exemple 1

Pour afficher la méthode statique du même nom.

Code:



class SameNameDemo
(
static displayMsg()
(
return "static method with same name one"
)
static displayMsg()
(
return "static method with same name two"
)
)
document.writeln(SameNameDemo.displayMsg());

Production:

Exemple # 2

Exemple pour appeler plusieurs méthodes statiques.

Code:



class NoSameName
(
static displayMsg1()
(
return "static method one is called"
)
static displayMsg2()
(
return "static method two is called"
)
)
document.writeln(NoSameName.displayMsg1()+"
");
document.writeln(NoSameName.displayMsg2());

Production:

Exemple # 3

Pour afficher un message.

Code:



class Demo
(
static displayMsg()
(
return "static method is called"
)
)
document.writeln(Demo.displayMsg());

Production:

Exemple # 4

Appel d'une méthode statique à partir d'une méthode non statique.

Code:



class Demo (
static displayMsg() (
return "calling static method from non static method"
)
showMsg() (
document.writeln(Demo.displayMsg()+"
");
)
)
var demo =new Demo();
demo.showMsg();

Production:

Exemple # 5

Appel d'une méthode statique à partir du constructeur.

Code:



class Demo (
constructor() (
document.writeln (Demo.displayMag()+"
");
document.writeln (this.constructor.displayMag());
)
static displayMag() (
return "calling static method from constructor."
)
)
var demo = new Demo();

Production :

Conclusion

Donc, fondamentalement, la méthode statique ne nécessite pas l'instance pour y accéder, nous pouvons y accéder directement par le nom de classe dans lequel ils appartiennent. Par exemple, ClassName.Static-method-name-to-be = called ();

Articles recommandés

Ceci est un guide de la méthode statique JavaScript. Nous discutons ici de la syntaxe, du fonctionnement et des exemples de méthode statique javascript. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Événements JavaScript
  2. Erreurs en JavaScript
  3. JavaScript contre Ruby
  4. Fonction récursive en JavaScript