const singletonify = fn => { const one = new fn() return new Proxy(fn, { construct(target, argumentsList, newTarget) { return one } })}class A () {}const SingleA = singletonify(A)const a1 = new SingleA()const a2 = new SingleA()const a3 = new SingleA()a1 === a2; //true, but why?a2 === a3; //true以上這段代碼如何實現單例模式?為何每次創建的const one = new fn();都相同?
ES6 Proxy實現單例模式如何實現?
精慕HU
2019-02-12 21:21:42