问题标签 [object-destructuring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JS对象解构不定义变量名
在 ES6 JS 中解构对象时,您可以使用{ a, b }
语法来创建新变量,分别从该对象调用a
和调用。b
但是,据我所知,没有办法让对象的键自动创建具有这些名称的本地范围变量。在下面的例子中,我希望能够使用它的假设伪代码,它const {} = args;
会自动生成。const a
const b
原因纯粹是因为,在这个 MCVE 之外,我实际上使用了一个带有几十个键的大型对象,我想将某些值从其中传递到 Promise 链的下一部分。我当然可以使用{ a: args.a, b: args.b }
,但我正在尝试找到最短、最干净的方法。我想我真正想要的是 PHP 的extract()类似语法,但在 ES6 JS 中。
这可能吗?
Ps,我知道如果对象的内容不受信任,这可能被视为一个非常糟糕的主意。
pps。我正在测试的环境是 Node 7.9.0
javascript - 解构对象参数,还要把参数当作对象引用?
使用 ES6,您可以在函数参数中解构对象:
等效的 ES5 将是:
但是如果我想同时引用对象和params
嵌套属性怎么办?这是我得到的最接近的,但缺点是它不适用于箭头函数,因为它们无权访问对象:value
name
arguments
javascript - JavaScript:反向对象解构/重构代码以更新对象
TLDR:如何使用解构来加速基于同一接口的另一个对象的一个对象的部分更新?
我想使用新的 ECMA2015 - 2017 JavaScript 来重构我的代码。
为简单起见,假设我有一个对象,如下所示:
(导出界面有效,因为我正在使用 Typescript 在 Angular 中工作)。
这是旧的 es5 函数:
如您所见,该函数应该更新 oldObj 的某些部分,但也保留一些部分。
这是我重构代码的尝试:
但我不知道,我现在如何将 oldObj 的布尔值分配给保存的布尔值。
一种不优雅的方式是
在这个例子中会很好。但是在我的实际任务中,这会花费很多代码行,这就是我想要重构的原因。
我只是想不出正确的语法。
我对此进行编码的尝试看起来像这样:
但这不起作用。
javascript - 使用接口破坏对象
我有这个代码:
const {items} = this.props;
但是,我需要将接口设置为items
常量
我不想这样做:
const items: ItemsInterface = this.props.items
可能的?
javascript - Correct way of object destructuring
I have a scenario, where I receive an obj from a promise, and need to add some keys of this object to another object. For example:
Normally I could do like following, but I want to do it with object destructuring
to have:
javascript - 如何通过解构赋值将数据绑定到这个?
我想通过添加新的键和值到this
对象destructuring assignment
,但它出错了:
让我们看看我的例子,假设我有obj
数据对象:
现在我想将此数据绑定到this
对象,这意味着我们想要:
因此,通过解构赋值,我可以这样写:
但它陷入了错误:
我不使用const
,let
或者var
因为该this
对象已经被声明。我怎样才能达到我的愿望?有可能destructuring assignment
吗?
只需通过正常分配即可:
我只是想要正确的新的和漂亮的JavaScript
代码。
javascript - 使用对象解构语法设置先前初始化变量的值
我的情况是我要设置许多变量 - 但是,它们的值取决于另一个变量。所以这就是我的意思
我使用稍后声明的变量,因此始终在条件内声明它们是不好的,因为它们对函数的剩余范围不可见。上面的代码确实有效,但给出了“变量已定义,不重新声明”警告。我喜欢使用 Object destructuring 语法,并且不希望将每个变量分开到自己的行(如 columns = this.props.dependenciesTable.column) 我想知道是否有一种方法可以在 JavaScript 中有条件地设置变量?
还是有其他可行的方法...
javascript - 为什么在声明的对象上解构 ES6 会出现问题?
我有一个问题,或者更多一些奇怪的情况。我正在使用https://es6console.com。
我想使用解构并将属性分配给已声明的变量。看来我声明对象的位置有问题。请打开https://es6console.com/jm6e72c7/并单击转换为 ES5。有一种奇怪的行为,我在变量之后声明对象。
javascript - 在对象破坏赋值中转义保留关键字
是否可以在对象破坏分配中使用保留关键字。
具体来说,我正在尝试使用名为 default 的属性来处理 JSON。
ecmascript-6 - 使用其他解构值的对象解构默认值
以下适用于节点v8.11.4
和在 chrome 上运行的 babel 转译 JavaScript
在 EMACScript 2015 中,这可以保证如上所示工作吗?
我知道 node 和 babel 不是 100% EMACScript 2015 投诉,但我相信它们都实现了对象解构规范我在mdn上找不到任何明确的说明,也没有在官方ECMAScript 2015 规范上