有没有办法表达一个可以拥有任何属性的类型,但必须具有某些属性。
因此,如果未设置属性,则创建类型会抛出编译时错误,但使用未预定义的属性也不会引发错误。
interface MyInterface {
id: string;
}
function createObject(): MyInterface {
const myObject: MyInterface = {
id: "abc123",
someOtherProperty: "yadda yadda"
};
return myObject;
}
const myObject = createObject();
console.log(myObject.id);
console.log(myObject.someOtherProperty);
答案 0 :(得分:0)
当我输入我的问题时,我意识到答案是交叉类型。谢谢橡皮鸭。
type MyIdAbleType = { id: string } & { [key: string]: any }