31、TypeScript装饰器的使用与实践

TypeScript装饰器的使用与实践

1. 装饰器基础与类型匹配问题

装饰器是TypeScript中强大的特性,可用于修改类、方法、字段等。 time 装饰器被应用到方法上时,会为每个被装饰的方法调用一次 time 函数,返回的替换方法将替代原类中定义的方法。

例如,在 Product 类中添加方法:

import { time } from "./methodDecorator.js"; 
export class Product {
    constructor(public name: string, public price: number) {}
    @time
    getDetails(): string {
        return `Name: ${this.name}, Price: $${this.price}`;
    }
    @time
    getPrice(): number {
        return this.price;
    }
}

这里会出现编译错误,因为 time 装饰器返回的替换方法返回类型为 string ,而 getPrice 方法返回类型为 number ,类型不匹配。错误信息如下:

src/product.ts(12,6): error TS1270: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值