在TypeScript中正确键入addField(obj, name, value)的方法是使用泛型来定义参数类型。可以将obj参数的类型定义为一个包含name和value属性的对象类型,然后使用泛型T来表示该对象的类型。代码示例如下:
interface MyObject<T> {
name: string;
value: T;
}
function addField<T>(obj: MyObject<T>, name: string, value: T): void {
obj[name] = value;
}
// 示例用法
const myObj: MyObject<number> = { name: "count", value: 10 };
addField(myObj, "total", 20);
console.log(myObj); // 输出: { name: "count", value: 10, total: 20 }
在上述示例中,我们定义了一个名为MyObject的接口,它包含一个name属性和一个泛型value属性。然后,我们使用泛型T来表示value属性的类型。接下来,我们定义了一个addField函数,它接受一个obj参数,该参数的类型为MyObject<T>,并且还接受name和value两个参数。在函数体内部,我们将name和value添加到obj对象中。
在示例用法中,我们创建了一个名为myObj的对象,它的value属性类型为number。然后,我们调用addField函数,将"total"作为name参数,将20作为value参数传递给函数。最后,我们打印输出myObj对象,可以看到"name"、"value"和"total"三个属性都被正确地添加到了对象中。
推荐的腾讯云相关产品:无特定要求。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云