if req.body 的 ES6 语法中的解构给了我整个对象而不是特定值
Posted
技术标签:
【中文标题】if req.body 的 ES6 语法中的解构给了我整个对象而不是特定值【英文标题】:Destructuring in ES6 syntax of of req.body gives me the whole object instead of specific value 【发布时间】:2021-02-23 11:33:10 【问题描述】:这可能是缺乏理解,但这是第一次发生这种情况。我的函数如下所示:
exports.handleFormSubmit = functions.https.onRequest(async (req: Request, res: Response) =>
const formData = JSON.parse(req.body);
console.log(formData.name); // gives the name
// if I do this instead
const formData: name = JSON.parse(req.body);
console.log(name) // gives entire object instead of just the name.
)
是什么导致了所描述的行为?
【问题讨论】:
【参考方案1】:formData
扩展为 formData: formData
(see here)。这意味着键formData
处的值将存储到变量formData
中。当你有formData: name
时,意味着formData
键处的值将被存储到变量name
中,这与你之前的基本等价。如果你想解构name
,那么你应该双重解构:
const formData: name = JSON.parse(req.body);
【讨论】:
Minor nit: "这意味着密钥formData
将被存储到变量formData
中。" 不是密钥,而是值 键标识的属性。以上是关于if req.body 的 ES6 语法中的解构给了我整个对象而不是特定值的主要内容,如果未能解决你的问题,请参考以下文章