gpt4 book ai didi

javascript - req.body 在分配给变量后更改值

转载 作者:太空宇宙 更新时间:2023-11-04 01:45:06 27 4
gpt4 key购买 nike

我不太明白这里发生了什么,并且很乐意指出我的假设中的缺陷:

 putUser: async (req, res, next) => {
console.log('test1', req.body)
let data = req.body
data["local.password"] = 'xd121244212141243'
console.log('test2', data)
console.log('test3', req.body)

此代码块产生的结果为:

test1 { 'local.username': 'name','local.password': 'passwordToChange' }
test2 { 'local.username': 'name','local.password': 'xd121244212141243' }
test3 { 'local.username': 'name','local.password': 'xd121244212141243' }

所以问题是,为什么 req.body 的值会改变?这是因为我们指向该对象而不是创建新对象吗?

最佳答案

Is this because we are pointing to the object instead of making new one ?

是的。

 let data = req.body

将对对象的引用从 req.body 复制到 data,因此它们都引用同一个对象。要复制:

 let data = { ...req.body };

关于javascript - req.body 在分配给变量后更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51751345/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com