2017-04-02 128 views
1

从ES2015开始,在JS中创建单例的正确方法是什么? 我知道的很多方面,如:创建单例ES6的正确方法

(() => { 
    let instance; 
    class Singleton{ 
    constructor(){ 
    instance = instance || this; 
    } 
    } 
window.Singleton = Singleton; // or sth to export this class 
})(); 
var a = new Singleton(); 
var b = new Singleton(); // a is the same as b 

但它似乎并不喜欢用“新”驾驶员提供一个Singleton类的好方法。所以我的问题是在ES6中是否有一种“适当”的方式来创建一个Singleton。

+1

它也被问过。检查[这里](http://stackoverflow.com/questions/1479319/simplest-cleanest-way-to-implement-singleton-in-javascript) – jakeehoffmann

+0

它是在ES6之前,这就是这个问题是关于 – Berrigan

+0

什么没有改变在ES6中。它仍然是JS。如果你特别在ES6课后,目前还不清楚你为什么接受不涉及他们的答案。 – estus

回答

1
var a = (function() { 

    // can put private vars/methods here. 
    var a = 3; 
    var b = 5; 
    var sum =() => a+b;  

    return {// your singleton object 
      getSum: sum 
      // ... 
     }; 

}()); 
相关问题