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);
  };
};
相关推荐
Pocker_Spades_A15 分钟前
Python快速入门专业版(二十九):函数返回值:多返回值、None与函数嵌套调用
服务器·开发语言·python
良木林19 分钟前
浅谈原型。
开发语言·javascript·原型模式
烈风30 分钟前
004 Rust控制台打印输出
开发语言·后端·rust
一枝小雨1 小时前
【C++】list 容器操作
开发语言·c++·笔记·list·学习笔记
HMBBLOVEPDX1 小时前
C++(继承和多态)
开发语言·c++·继承和多态
yvya_1 小时前
JVM介绍
java·开发语言·jvm
rockmelodies2 小时前
【PHP7内核剖析】-1.1 PHP概述
开发语言·php
又菜又爱玩呜呜呜~2 小时前
go使用反射获取http.Request参数到结构体
开发语言·http·golang
摸鱼仙人~2 小时前
一文详解 Python 密码哈希库 Passlib
开发语言·python·哈希算法