Javascript 如何在TypeScript中处理任何as参数类型?

Javascript 如何在TypeScript中处理任何as参数类型?,javascript,typescript,Javascript,Typescript,我想使用此通用帮助器函数创建表单数据: 函数createFormData(数据:任意):FormData{ const formData=new formData(); for(常量输入数据){ formData.append(key,data[key]); } 返回表单数据; } 但是ESLint给了我一个意想不到的警告。 当我将参数类型any更改为object时,会显示数据[键]的以下错误消息: 元素隐式具有“any”类型,因为“string”类型的表达式不能用于索引类型“{}”。 在类型

我想使用此通用帮助器函数创建表单数据:

函数createFormData(数据:任意):FormData{
const formData=new formData();
for(常量输入数据){
formData.append(key,data[key]);
}
返回表单数据;
}
但是ESLint给了我一个意想不到的警告。 当我将参数类型
any
更改为
object
时,会显示
数据[键]
的以下错误消息:

元素隐式具有“any”类型,因为“string”类型的表达式不能用于索引类型“{}”。 在类型{}上找不到具有“string”类型参数的索引签名


我如何在这里修复代码,以便不显示错误消息或警告(而不只是关闭门楣)?

您可以提供值数据类型,而不是其他类型

function createFormData(data: {[key: string]: any}): FormData {
  const formData = new FormData();

  for (const key in data) {
    formData.append(key, data[key]);
  }

  return formData;
}

@GuyIncognito的副本我认为这不是副本。我明确要求函数参数处理,以及如何在使用任何ESLint警告时超越ESLint警告。ESLint警告
意外的任何
仍在显示。因此,您告诉我,因为他们在该示例项目中做到了这一点,这是正确的方法?这是我创建的,此外,我认为您需要为数据定义类型,如果将key用作字符串时出现错误,您可能必须将key的类型添加为string
key:string
部分就可以了。但是由于
any
关键字,它会显示一条警告。