ts装饰器保存this指向

要使用 function 而不是 箭头函数

typescript 复制代码
interface MethodDecorator<T> {
  (
    target: Object,
    propertyKey: string | symbol,
    descriptor: TypedPropertyDescriptor<T>
  ): TypedPropertyDescriptor<T> | void;
}

type TMethodDecorator = MethodDecorator<any>;

const matchImport: TMethodDecorator = (target, propertyKey, descriptor) => {
  const callback = descriptor.value;

  descriptor.value = function (...args: any[]) {
    console.log("decorator", this);
    return callback.call(this, ...args);
  };
};
相关推荐
女王大人万岁1 分钟前
Golang标准库 CGO 介绍与使用指南
服务器·开发语言·后端·golang
myzzb4 分钟前
纯python 最快png转换RGB截图方案 ——deepseek
开发语言·python·学习·开源·开发
t198751284 分钟前
基于Chirp分解和多相快速算法的离散分数傅里叶变换(DFRFT)MATLAB实现
开发语言·算法·matlab
jllllyuz5 分钟前
基于MATLAB的PAM通信系统仿真实现
开发语言·matlab
qq_4480111614 分钟前
python中的内置globals()详解
开发语言·python
悠哉清闲26 分钟前
Future
java·开发语言·kotlin
deepxuan1 小时前
Day2--python三大库-numpy
开发语言·python·numpy
AD钙奶-lalala1 小时前
Android编译C++代码步骤详解
android·开发语言·c++
中科三方1 小时前
域名注册后无法解析解决方法:技术故障排查和解决指南
开发语言·github·php
极客先躯1 小时前
高级java每日一道面试题-2025年7月02日-基础篇[LangChain4j]-什么是 AiServices?它是如何简化 LLM 应用开发的?
java·开发语言