Javascript 为什么在另一个对象中展开对象时,浏览器中的输出与节点中的输出不同?

Javascript 为什么在另一个对象中展开对象时,浏览器中的输出与节点中的输出不同?,javascript,Javascript,运行此代码时,浏览器中的结果与节点中的结果不同 const用户=[ { id:1, 姓名:“ada”, 姓:"王",, 游戏:[ {id:1,名称:“g1”}, {id:2,名称:“g2”}, ], }, { id:2, 姓名:“leon”, 姓:“肯尼迪”, 游戏:[{id:2,名称:“g2”}], }, ]; const output=users.map((user)=>({…user})); 控制台日志(输出)它是同一个对象,只是呈现方式不同而已。在您的浏览器中,您可以单击对象以深入了解

运行此代码时,浏览器中的结果与节点中的结果不同

const用户=[
{
id:1,
姓名:“ada”,
姓:"王",,
游戏:[
{id:1,名称:“g1”},
{id:2,名称:“g2”},
],
},
{
id:2,
姓名:“leon”,
姓:“肯尼迪”,
游戏:[{id:2,名称:“g2”}],
},
];
const output=users.map((user)=>({…user}));

控制台日志(输出)它是同一个对象,只是呈现方式不同而已。在您的浏览器中,您可以单击对象以深入了解详细信息,节点将限制其显示对象的深度,以避免输出太多。

这是关于浏览器和终端浏览器上的字符串和对象,将所有内容转换为字符串,或者您可以转换为日志上的对象 如果您想要深入登录nodejs,可以使用两种方法

第一条路

//更加紧凑,并且可以应用颜色(更好地用于流程管理器日志记录)
dir(queryArgs,{depth:null,colors:true});
第二条路

//获取实际值的清晰列表
log(JSON.stringify(queryArgs,未定义,2));

否,结果相同。控制台表示形式不同。对于控制台显示什么以及如何显示,没有真正的标准,所以值的表示依赖于实现。这不是破坏。这是spread语法。这是真的,出于好奇,您在哪里找到了
console.dir()
的额外参数?因为在mdn中没有对it@Mario答案的注释与副本中的注释相同。如果从这里开始,请添加属性。或者更好,从下次起标记为重复。