• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

TypeScript方法装饰器

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
/**
 * 装饰器永远是个方法,方法的装饰器,里面的三个参数是规定好的
 * 
 * @param target 普通方法 target 对应的是类的 prototype
 *               静态方法 target 对应的是类的构造函数
 * 
 * @param key 装饰方法的名字
 * 
 * @param descriptor
 */
function getNameDecorator(target: any, key: string, descriptor: PropertyDescriptor) {
  // console.log(target, key, descriptor);
  descriptor.writable = false;
}

class Test{ 
  name: string;
  constructor(name: string) {
    this.name = name;
  }
  // 方法装饰器
  @getNameDecorator
  getName() {
    return this.name
  }
}

const test = new Test('dell');

// 这里对 getName 做了修改,打印出 123
// test.getName =  () => {
//   return '123'
// }
// console.log( test.getName() );
// 如果想不允许对这个 getName 做修改,就可以在装饰器里面进行修饰, writable 改成 false 就不能改了

test.getName =  () => {
  return '123'
}
console.log(test.getName());
// 这个时候会报错,改成 true ,则不会报错

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
现代编程语言:TypeScript发布时间:2022-07-18
下一篇:
typeScript之(6)类的简介发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap