为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【九月打卡】第13天 TypeScript学习 10-18章

【九月打卡】第13天 TypeScript学习 10-18章

2022.09.18 20:28 20浏览

课程名称: 晋级TypeScript高手,成为抢手的前端开发人才

课程章节: 10-18 【属性装饰器】属性装饰器应用,JS源码深剖

课程讲师: keviny79

课程内容:
属性装饰器:

// 声明 属性装饰器
function loginProperty(attrValue: any) {

  // targetclassPrototype 目标类原型
  // attrname 属性名,可以是字符串 或 symbol 类型
  return function (targetclassPrototype: object, attrname: string | symbol) {
    console.log("targetclassPrototype:", targetclassPrototype);
    console.log("attrname:", attrname);
    (targetclassPrototype.constructor as any).custLevelDescri = function () {
      console.log("消费5000元升级为贵宾");
      console.log("消费10000元升级为贵宾,赠送微波炉一个");
    }
  }
}

// 顾客目标类
class CustomerService {
  public custname: string = "王五"
  
  // 使用属性装饰器
  @loginProperty("顾客登记")
  public degree!: string
  
  constructor() {
  }

  show() {
    console.log("顾客名:", this.custname)
  }
}

(CustomerService as any).custLevelDescri()

属性装饰器接收两个参数

  • targetclassPrototype 目标类原型
  • attrname 属性名,可以是字符串 或 symbol 类型

课程收获:
属性装饰器的定义和使用

图片描述

点击查看更多内容
0人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
0
获赞与收藏
0

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

50篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

146篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消