gpt4 book ai didi

singleton - 如何在 TypeScript 中定义单例

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:36 27 4
gpt4 key购买 nike

在 TypeScript 中为类实现单例模式的最佳和最方便的方法是什么? (有和没有惰性初始化)。

最佳答案

从 TS 2.0 开始,我们可以定义 visibility modifiers on constructors ,所以现在我们可以在 TypeScript 中使用单例,就像我们习惯于使用其他语言一样。

给出的例子:

class MyClass
{
private static _instance: MyClass;

private constructor()
{
//...
}

public static get Instance()
{
// Do you need arguments? Make it a regular static method instead.
return this._instance || (this._instance = new this());
}
}

const myClassInstance = MyClass.Instance;

感谢@Drenai 指出,如果您使用原始编译的 javascript 编写代码,您将无法防止多重实例化,因为 TS 的约束消失并且构造函数不会被隐藏。

关于singleton - 如何在 TypeScript 中定义单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30174078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com