【发布时间】:2021-02-04 19:11:21
【问题描述】:
我正在尝试克隆一个无类型的对象。我想在克隆时投射它。 这是一个非常简单的代码:
const typedOject: type123 = {...untypedObject} as type123;
typeObject.a = 1;
export interface type123 {
a: number;
b: number;
}
但是编译器抱怨: 类型“any[]”上不存在属性“a”
那么,为什么新对象的类型是 any?
谢谢
【问题讨论】:
-
对于这样的任务,我通常会编写一个转换器函数,它接受一个任意对象并检查其属性 + 构建返回类型
-
另外,我没有看到你上面的代码中有
y -
复制自开发代码。修正了错字。
-
我明白了。我已经添加了答案,如果您有任何其他问题,请告诉我
标签: typescript