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

Comment implémenter le modèle Singleton en JavaScript ?

Linda Hamilton
Libérer: 2024-12-04 00:00:17
original
804 Les gens l'ont consulté

How to Implement the Singleton Pattern in JavaScript?

Comment créer un singleton en JavaScript

En JavaScript, un modèle singleton garantit qu'une seule instance d'une classe ou d'un objet peut être créée . Le moyen le plus simple d'implémenter un singleton consiste à utiliser un littéral d'objet :

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

Pour les membres privés, utilisez une expression de fonction :

var myInstance = (function() {
  var privateVar = '';

  function privateMethod () {
    // ...
  }

  return { // public interface
    publicMethod1: function () {
      // All private members are accessible here
    },
    publicMethod2: function () {
    }
  };
})();
Copier après la connexion

Ce modèle, connu sous le nom de modèle de module, encapsule membres privés via des fermetures.

Pour éviter les modifications, utilisez Object.freeze :

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

Dans ES6, utilisez les modules ES :

// my-singleton.js
const somePrivateState = []

function privateFn () {
  // ...
}

export default {
  method1() {
    // ...
  },
  method2() {
    // ...
  }
}
Copier après la connexion

Puis importez-le :

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