TypeScript-从任何obejct提取接口字段
我试图只从对象中提取接口字段 我看到有一种方法可以用'as'关键字来实现,但它对我不起作用 我试过:TypeScript-从任何obejct提取接口字段,typescript,Typescript,我试图只从对象中提取接口字段 我看到有一种方法可以用'as'关键字来实现,但它对我不起作用 我试过: let data = { name: "toto", age: 10 } interface Human { name: string; } let p = data as Human console.log(p) 但我得到了: [LOG]: { "name": "toto", "ag
let data = {
name: "toto",
age: 10
}
interface Human {
name: string;
}
let p = data as Human
console.log(p)
但我得到了:
[LOG]: {
"name": "toto",
"age": 10
}
有什么方法可以直接得到:
[LOG]: {
name: "toto"
}
亲爱的,不,这样不行。使用
as
时,您只能告诉编译器您确定它是哪种类型的对象。但是,您不会自动将与接口不匹配的不需要的字段放在一边
这是正确执行此操作的一种方法:
interface IHuman {
name: string;
}
class Human implements IHuman {
constructor(public name: string) {}
}
let human: IHuman = new Human(data.name);