MST

星途 面试题库

面试题:TypeScript混入的基础使用

请使用TypeScript实现一个简单的混入(Mixin)示例,假设有一个`Logger`混入,能为目标类添加`log`方法,输出类的实例信息。要求清晰展示混入的定义和使用过程。
35.6万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 定义Logger混入
type Constructor<T = {}> = new (...args: any[]) => T;

function Logger<TBase extends Constructor>(Base: TBase) {
    return class extends Base {
        log() {
            console.log(`Instance of ${this.constructor.name}`);
        }
    };
}

// 使用Logger混入
class MyClass {
    // 原始类的内容
}

const MyClassWithLogger = Logger(MyClass);
const instance = new MyClassWithLogger();
instance.log();