MST

星途 面试题库

面试题:TypeScript参数装饰器实现依赖注入的基础原理问题

在TypeScript中,利用参数装饰器实现依赖注入时,参数装饰器的第一个参数 `target` 代表什么?并简要说明依赖注入在这种场景下的基本流程。
24.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
  1. 参数装饰器第一个参数 target 代表

    • target 代表被装饰方法所在的类的原型对象。例如,如果有一个类 MyClass,在这个类的某个方法上使用参数装饰器,那么 target 就是 MyClass.prototype
  2. 依赖注入在这种场景下的基本流程

    • 定义装饰器:首先定义一个参数装饰器函数,这个函数接收 target(类的原型对象)、propertyKey(方法名)和 parameterIndex(参数在方法参数列表中的索引)作为参数。
    • 标记依赖:在需要依赖注入的方法参数上使用这个装饰器,以此标记该参数是一个依赖。
    • 容器管理:创建一个依赖容器,用于存储和管理依赖对象。这个容器可以是一个简单的对象,也可以是一个更复杂的依赖注入框架提供的容器。
    • 解析依赖:在实例化类或者调用被装饰方法之前,从依赖容器中根据标记解析出对应的依赖对象,并将其注入到方法的参数中,从而实现依赖注入,让方法可以使用外部提供的依赖对象进行工作。