Mat*_*her 6 javascript ecmascript-6 object-destructuring
在 ES6 JS 中解构对象时,您可以使用{ a, b }语法从该对象创建新变量,分别调用a和b。但是,据我所知,无法获取对象的键以自动创建具有这些名称的本地范围变量。在下面的例子中,我希望能够使用的假设的伪代码const {} = args;,它会产生const a和const b自动。
const bar = { a: 'apple', b: 'ball' };
const foo = (args) => {
const { a, b } = args;
console.log(a, b); // Great!
const {} = args; // I am aware this isn't valid syntax...
console.log(a, b) // Because of course, it doesn't work.
};
foo(bar);
Run Code Online (Sandbox Code Playgroud)
原因纯粹是因为,在这个 MCVE 之外,我实际上使用了一个带有数十个键的大型对象,我想将其中的某些值传递到 Promise 链的下一部分。我当然可以使用{ a: args.a, b: args.b },但我正在尝试找到最短、最干净的方法。我想我真正要求的是 PHP 的类似extract()的语法,但是在 ES6 JS 中。
这可能吗?
Ps,我知道如果对象的内容不受信任,这可能被视为一个非常糟糕的主意。
pps。我正在测试的环境是 Node 7.9.0
如果您想对键执行某些操作但又不想定义它们,为什么不使用Object.keysorObject.entries呢?
const foo = (args) => {
Object.entries(args).forEach(([key, value]) => {
console.log(key, value);
});
};
foo(bar);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
987 次 |
| 最近记录: |