Closed Sayoko123f closed 1 year ago
(2)set方法的参数类型,必须兼容get方法的返回值类型,否则报错。
class C { _name = ''; get name():string { return this._name; } set name(value:number) { this._name = value; // 报错 } }
上面示例中,get方法的返回值类型是字符串,与set方法参数类型不兼容,导致报错。
在 TypeScript 5.1 中, getter 與 setter 的參數類型不再有兼容限制
更新說明
也就是說,以下的例子現在是合法的
class C { _name = ''; get name(): string { return this._name; } set name(value: number) { this._name = String(value) } }
谢谢指出,已经更正。
原文
(2)set方法的参数类型,必须兼容get方法的返回值类型,否则报错。
上面示例中,get方法的返回值类型是字符串,与set方法参数类型不兼容,导致报错。
描述
在 TypeScript 5.1 中, getter 與 setter 的參數類型不再有兼容限制
更新說明
也就是說,以下的例子現在是合法的