Node.js querystring.parse() 方法返回看起来像一个对象,但没有构造函数的对象。根据https://nodejs.org/api/querystring.html :
"... querystring.parse() 方法返回的对象没有原型(prototype)继承自 JavaScript 对象。这意味着典型的对象方法,如 obj.toString()、obj.hasOwnProperty() 等是未定义,将不起作用。”
这很容易导致错误,因为通常你会假设每个对象都理解一些基本方法,比如 toString() 并且它有一个“构造函数”,或多或少地告诉我们它的“类型”。
处理这些相当无能的对象的最佳方法是什么?我试过了:
let myOb = new Object(dumbObject);
但这产生的结果既没有 toString() 方法,也没有属性“构造函数”。
将这些愚蠢的对象变成正常行为的对象的最佳方法是什么?而且,为什么有人首先要创建这样的对象?
最佳答案
我认为(从我的头顶)
让 newObject = JSON.parse(JSON.stringify(dumbObject))
应该可以。
关于javascript - 如何处理没有构造函数的 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45805444/