Typescript 是否将自定义对象属性初始化为未定义类型?
我正在初始化自定义typescript对象,如下所示:Typescript 是否将自定义对象属性初始化为未定义类型?,typescript,Typescript,我正在初始化自定义typescript对象,如下所示: { game: false ? new Game() : undefined, } 虽然这允许typescript推断该属性的类型,但我必须禁用一个有用的eslint规则。这似乎也不是我们想要的方法。有更好的方法吗?您可以有条件地添加游戏属性 const obj = { ...(condition && { game: new Game() }) }; console.log(obj.game); 现在,如
{
game: false ? new Game() : undefined,
}
虽然这允许typescript推断该属性的类型,但我必须禁用一个有用的eslint规则。这似乎也不是我们想要的方法。有更好的方法吗?您可以有条件地添加游戏属性
const obj = {
...(condition && { game: new Game() })
};
console.log(obj.game);
现在,如果条件为true,它应该具有游戏属性,如果条件为false,它应该返回undefined
要使eslint满意,您可以使用可选游戏属性定义对象类型,并将其分配给您的对象
interface Object {
game?: GameType;
}
const obj: Object = {
...(condition && { game: new Game() })
};
const o={game:未定义为game |未定义,}代码>?为什么不事先定义对象的类型?