【发布时间】:2018-08-26 00:02:41
【问题描述】:
我正在尝试让 typescript 类型查询在类中工作。
通常类型查询是这样工作的:
const user = { name: "Patrick", age: 17 };
let typeofUser: typeof user;
在上面的示例中,“typeofUser”将具有以下类型:
{ name: string, age: number }
到目前为止一切顺利。但我试图让类型查询与类一起工作。 例如:
class App {
states = {
menu: {
login() {
console.log("Menu.login");
}
},
game: {
update() {
console.log("Game.update");
}
}
};
constructor() {
// FAILS => Cannot find name "states"
const typeofStates: typeof states = {};
// FAILS => Cannot find name "states"
const keyofStates: keyof states = "game";
}
}
我的问题是:如何访问类成员以进行类型查询, 使用“typeof”或“keyof”运算符?
【问题讨论】:
-
typeof App.prototype.states和keyof typeof App.prototype.states。 -
App['states']和keyof App['states'] -
这两种解决方案都有效,你们中的一些人可以建议您的答案作为问题的答案,以便我接受吗?
标签: typescript