型付きオブジェクトを直接リテラルにする方法はありますか?
直接とは、型注釈が付けられた変数に割り当てる必要がないことを意味します。
たとえば、次のようにできることがわかっています。
export interface BaseInfo { value: number; }
export interface MyInfo extends BaseInfo { name: string; }
function testA(): BaseInfo = {
const result: MyInfo = { value: 1, name: 'Hey!' };
return result;
}
私もこのようにすることができます:
function testB(): BaseInfo = {
return { value: 1, name: 'Hey!' };
}
しかし、私が必要とするのは次のようなものです:
function testC(): BaseInfo = {
return { value: 1, name: 'Hey!' }: MyInfo; // <--- doesn't work
}
またはこのように:
function testD(): BaseInfo = {
return MyInfo: { value: 1, name: 'Hey!' }; // <--- doesn't work
}