我有这个对象:
{
exports: class y {}
}
现在我正在对其进行JSON.stringify
:
JSON.stringify({
exports: class y {}
})
但是它返回一个空对象...我做错了什么?谢谢
答案 0 :(得分:3)
class
实际上是一个没有[[call]]
内部属性的函数。此类型在JSON中没有表示形式,因此您会看到结果。您可以尝试JSON.stringify
个包含function
的对象来看到相同的结果。
根据经验,永远不要尝试将代码作为数据存储在JS中。存储代码非常困难,并且需要您存储大量有关代码以及环境state
的信息。以babel及其api为例,将代码作为数据进行处理。