javascript - 如何处理没有构造函数的 JavaScript 对象

标签 javascript node.js

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/

相关文章:

javascript - 如何获得对 Promise 的延迟对象的引用?

node.js - 环回中的 'cb' 是什么意思?

javascript - 预期响应包含一个数组但得到一个对象

javascript - Node.js 中的 Promise 和数组

node.js - 如何解决 Node.js 依赖关系?

javascript - 跨浏览器修复,OnScroll功能

javascript - 获取矩形以使用 Raphael 和 Handdrawn.js 填充 svg

javascript - 在 javascript/jQuery 中创建数千个 div 的问题

javascript - 有没有办法修复我的 for 循环以启用或禁用基于单独列表的选项,但没有覆盖的潜力

node.js - Heroku + Socket.io 有时有效有时不行