TypeScript和将对象转换为字符串

6

我正在将Typescript中的一个对象转换为字符串以存储到数据库中。

formData.survey_data = encodeURI(JSON.stringify(formData.survey_data));

输出在浏览器中正常,但 TypeScript 声明存在错误。

类型“string”不能赋值给类型“any[]”

这是什么意思?


survey_data的类型是什么? - Whymarrh
我把它定义为一个数组,这就是我的问题所在。我把它定义为一个数组并试图将其变成字符串。 - Caleb Prenger
1个回答

4
formData.survey_data = encodeURI(JSON.stringify(formData.survey_data));

根据提供的代码,我认为survey_dataany[]类型。您正在序列化对象并尝试将其分配给该属性。 TypeScript 是强类型语言,即使 JavaScript 可能能够处理这种情况,它也不允许您这样做。(因为 JavaScript 不是强类型语言,您可以将任何对象分配给任何属性)。


那么你的意思是因为我之前将它分配给了其他东西,所以当我尝试重新分配它时会抛出错误? - Caleb Prenger
在代码中,formData.survey_data 有一个类/属性定义,指定它是任意类型的数组。如果要更改它,则必须找到该定义。 - kemiller2002
搞定了!我之前将formData.survey_data定义为数组而不是字符串。谢谢你的帮助! - Caleb Prenger
很高兴能够帮助! - kemiller2002

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接