In this lesson, you will learn how to extend a class's functionality through typescript decorators. Decorators provide a way to add both annotations and a Meta-programming Syntax for class declarations and members.
class Lesson { lessonNumber: number = 0; } const lesson = new Lesson(); console.log(lesson.lessonNumber); // 0
Decorator:
function classDecorator<T extends { new (...args: any[]): {}}>(target: T) { return class extends target { lessonNumber = 3; toString() { return `${target.name}::${JSON.stringify(this, null, 2)}` } } } @classDecorator class Lesson { lessonNumber: number = 0; } const lesson = new Lesson(); console.log(lesson.lessonNumber); // 3 console.log(lesson.toString()) /** * "Lesson::{ "lessonNumber": 3 }" */
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。