TypeScript-如何从命名空间动态获取变量?

TypeScript-如何从命名空间动态获取变量?,typescript,Typescript,是否可以通过字符串值从typescript命名空间获取变量? 我想多做点,少做点。从命名空间: namespace Keys { const string key1 = 'x'; const string key2 = 'y'; } 按字符串获取值: function getKey(suffix: string) { return Keys[`key${suffix}`]; } 对于调用getKey('1')它应该返回x 上面的代码不起作用。我只是想到在这个名称空间中

是否可以通过字符串值从typescript命名空间获取变量? 我想多做点,少做点。从命名空间:

namespace Keys {
    const string key1 = 'x';
    const string key2 = 'y';
}
按字符串获取值:

function getKey(suffix: string) {
    return Keys[`key${suffix}`];
}
对于调用
getKey('1')
它应该返回
x

上面的代码不起作用。我只是想到在这个名称空间中创建一个helper函数。还有别的办法吗

编辑

export
添加到值后,出现以下问题:
元素隐式具有“any”类型,因为类型“typeof”没有索引签名
。对
any
进行显式强制转换是解决这个问题的方法。我找不到更好的方法。

您需要导出值,以便在命名空间之外访问它们

名称空间键{
导出常量key1='x';
导出常量key2='y';
}

解决方案的其余部分看起来不错。

您需要导出这些值,以便在命名空间之外访问它们

名称空间键{
导出常量key1='x';
导出常量key2='y';
}
其余的解决方案看起来不错