博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
方法装饰器(Decorator)
阅读量:6528 次
发布时间:2019-06-24

本文共 629 字,大约阅读时间需要 2 分钟。

代码:

function enhance(target, key, descriptor) {    const method = descriptor.value;    let extraSpeed = 50;    let finalSpeed;    descriptor.value = (...args) => {        console.log(target === Car.prototype); // true        console.log(key); // 'drive'        console.log(descriptor); // 属性描述符        args[0] += extraSpeed;        finalSpeed = method.call(target, args);        return finalSpeed;    }    return descriptor;}class Car {    @enhance    drive(speed) {        console.log(`时速:${speed}`);    }}let car = new Car('买菜车');car.drive(100);

运行环境

 

TypeScript官网对方法装饰器对描述

 

转载于:https://www.cnblogs.com/sea-breeze/p/10174640.html

你可能感兴趣的文章
robotframework环境搭建
查看>>
Docker常用命令和操作
查看>>
我的友情链接
查看>>
【分享】Android二次打包植入广告
查看>>
SQL Server 存储过程
查看>>
6.Python入门到精通
查看>>
MySQL表结构同步
查看>>
信息污染与身心健康
查看>>
Linux基础知识题解答(一)
查看>>
分享下遇到的无线路由显示“已连接”但上不了网的问题
查看>>
Mybatis调用Oracle返回结果集存储过程
查看>>
eclipse下启动tomcat出现Setting property 'source' to 'org.eclipse.jst.jee.server: '错误的解决办法...
查看>>
zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法
查看>>
Eclipse修改背景颜色(豆沙绿)
查看>>
AOP技术基础
查看>>
5.DoS***原理
查看>>
我的友情链接
查看>>
淘宝下单高并发解决方案
查看>>
现在物价虽然高得离谱,但是内存条都白菜价格了,需要调整程序架构的思维“与时俱进” --- 改进系列之一...
查看>>
Bridgehead Servers
查看>>