可以使用Typescript从静态字符串( Enum或Object)推断对象键。在Typescript中,可以使用字符串字面量类型作为对象的键,从而实现从静态字符串推断对象键的功能。
具体实现方式如下:
enum Keys {
Key1 = "key1",
Key2 = "key2",
Key3 = "key3"
}
或
const keys = {
Key1: "key1",
Key2: "key2",
Key3: "key3"
} as const;
function createObject<T extends keyof typeof Keys>(key: T) {
return { [key]: "value" };
}
或
function createObject<T extends keyof typeof keys>(key: T) {
return { [key]: "value" };
}
const obj = createObject(Keys.Key1);
console.log(obj); // Output: { key1: "value" }
console.log(obj.key1); // Output: "value"
或
const obj = createObject(keys.Key1);
console.log(obj); // Output: { key1: "value" }
console.log(obj.key1); // Output: "value"
这样,通过使用Typescript的字符串字面量类型和泛型约束,我们可以从静态字符串推断对象键,并创建具有正确类型的对象。
在腾讯云的相关产品中,可以使用云函数 SCF(Serverless Cloud Function)来实现类似的功能。SCF 是一种无服务器计算服务,可以让您在云端运行代码而无需购买和管理服务器。您可以使用 SCF 来编写和运行支持多种编程语言的函数,实现从静态字符串推断对象键的功能。
腾讯云 SCF 产品介绍链接地址:https://cloud.tencent.com/product/scf
领取专属 10元无门槛券
手把手带您无忧上云