解构和重命名属性

Posted

技术标签:

【中文标题】解构和重命名属性【英文标题】:Destructuring and rename property 【发布时间】:2019-11-25 16:01:23 【问题描述】:
const a = 
 b: 
  c: 'Hi!'
 
;

const  b:  c   = a;

在这种情况下是否可以重命名b?我想得到c 并重命名b

【问题讨论】:

“重命名”是什么意思? a.b 属性的名称为 b,您无法更改它。期望的结果是什么? @Bergi 喜欢const b: d = a,但也可以使用c 【参考方案1】:

您可以通过重命名进行解构,并使用相同的属性进行解构。

const a =  b:  c: 'Hi!'  ;
const  b: formerB, b:  c   = a;

console.log(formerB)
console.log(c);

【讨论】:

谢谢,不知道解构中属性可以重复。 但是你不能这样做,而解构数组可以吗? @RegarBoy,你有例子吗? @NinaScholz 当然,***.com/questions/63307361/… 在这期间我记得你 Nina,你在 5 年前帮助我处理了数组映射。谢谢:D【参考方案2】:

你可以多次解构同一个属性到不同的目标:

const  b: c, b: d  = a;

这会将a.b.c 分配给c 并将a.b 分配给d

【讨论】:

谢谢,您的回答也正确,但@NinaScholz 回答得早了一点。 我喜欢这个,比较简洁。

以上是关于解构和重命名属性的主要内容,如果未能解决你的问题,请参考以下文章

在 TypeScript 中使用解构/扩展复制具有重命名属性的对象

iphone 项目 - 在 xcode 4.3 中复制和重命名

如何在 Linux 中批量移动复制追加和重命名文件

使用 Bat 文件复制和重命名

如何使用环境变量复制和重命名文件?

按特定条件复制和重命名 - 批量