单例模式那块儿的例子不完整,s 和 s1 是不同的实例

来源:7-6 前端常用的设计模式和使用场景

qq_Bu

2022-02-26

不好意思视频没看到最后,发现老师已经修正了。。。
这条评论可以忽略

class Foo {
    private constructor () {}

    static getInstance () {
        return new Foo();
    }
}

let f1 = Foo.getInstance();
let f2 = Foo.getInstance();

console.log(f1 === f2);  // false

需要一个静态变量保存单例

class Foo {
    private static instance: Foo | null = null;

    private constructor () {}

    static getInstance () {
        if (!Foo.instance) {
            Foo.instance = new Foo();
        }

        return Foo.instance;
    }
}

let f1 = Foo.getInstance();
let f2 = Foo.getInstance();

console.log(f1 === f2); // true
写回答

1回答

双越

2022-02-27

哈哈,讲课的时候有时候自己也会忽略一些地方。但后面都会更正的。

3
1
qq_Bu
期待下章的内容👏
2022-02-27
共1条回复

2周刷完100道前端优质面试真题 双越最新力作

『前端面试真题100道』视频详解

1512 学习 · 642 问题

查看课程