MST

星途 面试题库

面试题:TypeScript 单例模式中静态成员的基础实现

请使用TypeScript实现一个包含静态成员的单例类。该单例类要有一个静态方法用于获取单例实例,同时包含一个普通的实例方法用于打印一些信息。
40.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
class Singleton {
    private static instance: Singleton;

    // 私有化构造函数,防止外部实例化
    private constructor() {}

    // 静态方法用于获取单例实例
    public static getInstance(): Singleton {
        if (!Singleton.instance) {
            Singleton.instance = new Singleton();
        }
        return Singleton.instance;
    }

    // 普通的实例方法用于打印信息
    public printInfo(): void {
        console.log('这是单例类的实例方法打印的信息');
    }
}

你可以使用以下方式调用:

// 获取单例实例
const singleton1 = Singleton.getInstance();
singleton1.printInfo();

const singleton2 = Singleton.getInstance();
singleton2.printInfo();

// 验证两个实例是否相同
console.log(singleton1 === singleton2);