打字稿并将对象转换为字符串
Posted
技术标签:
【中文标题】打字稿并将对象转换为字符串【英文标题】:Typescript and converting Object to String 【发布时间】:2017-02-11 11:19:28 【问题描述】:我正在将 Typescript 中的对象转换为字符串以存储到数据库中。
formData.survey_data = encodeURI(JSON.stringify(formData.survey_data));
输出在浏览器中有效,但打字稿坚持我有一个错误。
类型 'string' 不能分配给类型 'any[]'
这是什么意思?
【问题讨论】:
survey_data
的类型是什么?
我将它定义为一个数组,这是我的问题。我将它定义为一个数组并尝试将其设为字符串。
【参考方案1】:
formData.survey_data = encodeURI(JSON.stringify(formData.survey_data));
根据提供的代码,我假设survey_data
是any[]
类型。您正在序列化您的对象并尝试将其分配给该属性。 TypeScript 是强类型的,即使 javascript 可能能够处理这种情况,也不允许您这样做。 (因为 JavaScript 不是强类型的,您可以将任何对象分配给任何属性)。
【讨论】:
所以你的意思是因为我事先将它分配给了其他东西,它会因为我尝试重新分配它而引发错误? 代码 formData.survey_data 的某处有一个类/属性定义,它指定它的类型为 any[]。如果你想改变它,你必须找到它。 想通了!我之前将 formData.survey_data 定义为数组而不是字符串。感谢您的帮助! 很高兴我能帮上忙!以上是关于打字稿并将对象转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章