打字稿

时间:2017-07-19 13:58:09

标签: typescript

有没有办法表达一个可以拥有任何属性的类型,但必须具有某些属性。

因此,如果未设置属性,则创建类型会抛出编译时错误,但使用未预定义的属性也不会引发错误。

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);

1 个答案:

答案 0 :(得分:0)

当我输入我的问题时,我意识到答案是交叉类型。谢谢橡皮鸭。

type MyIdAbleType = { id: string } & { [key: string]: any }