javascript - ES6 对象用字符串传播
问题描述
假设我想使用扩展语法为对象分配一个新属性
const source = { payload: "abc" }
const clone = {}
clone.payload = {...source.payload}
console.log(clone);
预计:clone={payload:"abc"}
实际的:clone={payload:{'0':'a','1':'b','2':'c'}}
仅供参考:如果来源是这样的source = { payload: { component: "correct" } }
。然后传播语法正常工作
问题:我是否滥用了 ES6 扩展语法,正确的方法是什么
解决方案
clone.payload = {...source.payload}
意味着您创建一个新对象,并将 的内容传播source.payload
到其中,然后将该新对象分配给clone.payload
.
为了达到您的预期结果,您可以这样做:
const source = { payload: "abc" }
const clone = {...source}
这将创建一个新对象,将其传播source
到其中,并将其分配给clone
.
推荐阅读
- mysql - Django 测试 OperationalError 无法创建表
- python-3.x - 我在 repli 中编码的不和谐机器人有一些问题
- javascript - Discord Bot 不播放音频 discord.js v13
- python - 容器中的 AWS Lambda (python) 在本地工作但未部署
- python - 无法将任务添加到待办事项列表
- scorm - 在 SCORM 2004(第 4 版)中,什么时候可以选择和随机分配可用儿童?
- python - 在 Pandas 中根据 TimeDelta 进行标记
- javascript - 为什么回复变量给出了greetReply数组的索引号?我想要那个数组的值
- android - Android 11 用于本机反应?
- javascript - 转换数组中的数据