如何在typescript中创建对象类型
我正在使用打字脚本。我想在对象中生成特定类型的键。如何在typescript中创建对象类型,typescript,Typescript,我正在使用打字脚本。我想在对象中生成特定类型的键。 但这根本不起作用 它给了我一些错误,如下所示。 类“Config”错误地实现了接口“IConfig”。 属性“DBConfig”在类型“Config”中是私有的,但在类型“IConfig”中不是私有的 成员“DBConfig”隐式具有“any”类型 你能为这个案子推荐一些建议吗?非常感谢您阅读 接口描述类的公共端,而不是公共端和私有端。这禁止您使用它们来检查类实例的私有端是否也具有特定类型 来源:尝试对象(小写),在您的情况下,如果可能的话,我
但这根本不起作用
它给了我一些错误,如下所示。
类“Config”错误地实现了接口“IConfig”。 属性“DBConfig”在类型“Config”中是私有的,但在类型“IConfig”中不是私有的 成员“DBConfig”隐式具有“any”类型 你能为这个案子推荐一些建议吗?非常感谢您阅读 接口描述类的公共端,而不是公共端和私有端。这禁止您使用它们来检查类实例的私有端是否也具有特定类型
来源:尝试
对象
(小写),在您的情况下,如果可能的话,我建议更加精确,并使用IConfig['DBConfig']
。要实现接口Member,必须将其公开。。从'private DBConfig'中删除private
`错误消息提供了两个重要信息:您没有公共的DBConfig
来匹配接口,并且您的实现的DBConfig
没有指定类型(该类型需要匹配接口中的类型,并且需要是公共的,才能算作实现)。
interface IConfig {
DBConfig: {
username: string;
password: string;
database: string;
host: string;
dialect: string;
};
}
class Config implements IConfig {
private DBConfig;
constructor() {}
public getDBConfig(environment: string): Object {
switch (environment) {
case "local":
this.DBConfig = {
username: "root",
password: "1234",
database: "test",
host: "127.0.0.1",
dialect: "mysql",
};
break;
}
return this.DBConfig;
}
}
export { Config };