image.png

    1. class SingleTon {
    2. name: string
    3. private constructor(name: string) {
    4. this.name = name;
    5. }
    6. private static instance: SingleTon | null = null
    7. static getInstance(name: string): SingleTon {
    8. if (this.instance === null) {
    9. this.instance = new SingleTon(name);
    10. }
    11. return this.instance;
    12. }
    13. }
    14. const s1 = SingleTon.getInstance('zwx'); // 正确获取单例对象的方式
    15. // new SingleTon(); // 无法在外部实例化 会报错
    16. const s2 = SingleTon.getInstance('zwx2');
    17. console.log(s1 === s2, s1.name, s2.name) // true zwx zwx

    截屏2022-06-30 21.15.59.png
    演示 TS - 图3