Maison > interface Web > js tutoriel > Comment puis-je implémenter efficacement le modèle Singleton en JavaScript ?

Comment puis-je implémenter efficacement le modèle Singleton en JavaScript ?

Mary-Kate Olsen
Libérer: 2024-11-29 17:17:12
original
507 Les gens l'ont consulté

How Can I Implement the Singleton Pattern in JavaScript Efficiently?

Implémentation propre et simple du modèle Singleton en JavaScript

Le modèle Singleton garantit qu'une seule instance d'une classe peut exister. JavaScript propose plusieurs approches pour implémenter ce modèle efficacement.

Méthode 1 : littéral d'objet simple

Une approche simple consiste à créer un littéral d'objet, puis à l'attribuer à une variable. . Cela permet un accès facile aux méthodes et aux propriétés de l'instance singleton.

var myInstance = {
  method1: function () {},
  method2: function () {}
};
Copier après la connexion

Méthode 2 : Singleton basé sur la fermeture

Pour créer des membres privés, vous pouvez utiliser le modèle de module, qui implique l'utilisation d'une fermeture.

var myInstance = (function() {
  var privateVar = '';
  function privateMethod () {}
  return {
    publicMethod1: function () {},
    publicMethod2: function () {}
  };
})();
Copier après la connexion

Méthode 3 : Objet ES5 Geler

Pour empêcher la modification de l'objet singleton, vous pouvez le geler à l'aide de la méthode Object.freeze.

Object.freeze(myInstance);
Copier après la connexion

Méthode 4 : Modules ES Singleton

Dans ES6, vous pouvez définir un singleton à l'aide de modules avec état.

// my-singleton.js
const privateState = [];
export default {
  method1() {},
  method2() {}
};
Copier après la connexion
// usage
import myInstance from './my-singleton.js';
Copier après la connexion

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