【发布时间】:2021-01-22 09:38:36
【问题描述】:
我是 Typescript 的初学者,我有一个案例,我将一个对象分配给另一个对象,该对象遵循我定义的接口。问题是接收对象获取了源对象的所有属性,即使是那些未在接口中定义的属性,这会导致调用 API 时出现问题。我用下面的例子对其进行了简化:
interface MyInterface {
x: string;
y: number;
}
const sourceObject = {x: 'name', y: 35, z: false};
const receivingObject: MyInterface = sourceObject;
console.log(receivingObject); // {x: "name", y: 35, z: false}
我也尝试过如下使用强制转换:
const receivingObject: MyInterface = sourceObject as MyInterface;
然后我不得不通过从源对象中删除不需要的属性来解决,但我想知道在 Typescript 中是否有一种优雅的方法来实现这一点?
【问题讨论】:
-
感谢您引导我回答这个问题及其答案。它与我的有点相似,但提问者使用的是类而不是接口,答案是将其作为函数参数应用,而不是像我试图做的那样使用赋值。
标签: typescript casting