TypeScript 属性装饰器


/**
 * 属性装饰器只能接收到两个参数
 * @param target Test 对应的 prototype
 * @param key  属性名字
 */
function nameDecorator(target: any, key: string):any {
  const descriptor: PropertyDescriptor = {
    writable: false
  }

  return descriptor;
}

class Test{ 
  @nameDecorator
  name = '1111'
}

const test = new Test();

// 本身是可以对属性进行修改的
// test.name = '2222';
// console.log(test.name); // 2222

// 在装饰器里面加以修饰就可以改变这个局面
test.name = '3333'
console.log(test.name); // 报错

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM