【发布时间】:2019-02-25 20:05:15
【问题描述】:
类中的 Getter 是只读属性,因此从以下代码中抛出类型错误是有意义的。
class Car {
engine: number;
get hp() {
return this.engine / 2;
}
get kw() {
return this.engine * 2;
}
}
function applySnapshot(
car: Car,
snapshoot: Partial<Car> // <-- how to exclude readonly properties?
) {
for (const key in snapshoot) {
if (!snapshoot.hasOwnProperty(key)) continue;
car[key as keyof Car] = snapshoot[key as keyof Car];
// Cannot assign to 'hp' because it is a constant or a read-only property.
}
}
有没有办法将只可写的属性转换为类型并排除所有 getter?
【问题讨论】:
标签: typescript types getter typescript2.0