Ant*_*osa 7 javascript function object typescript ecmascript-6
有没有一种方法可以就地解构JS对象,而不是将解构后的变量分配给作用域?
而不是这样做:
const { a, b, c } = obj;
someFunction(a, b, c);
Run Code Online (Sandbox Code Playgroud)
我想这样做:
someFunction({a, b, c} from obj);
Run Code Online (Sandbox Code Playgroud)
或功能上等效的东西。
我想在有以下两个规定的情况下执行此操作:
我不想将变量名放入封闭范围。
我不想传递整个对象obj,因此使散布运算符不是一个选择。
我剩下的唯一选择是使用
someFunction(obj.a, obj.b, obj.c);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,这很好,但是当obj它是长标识符时,可能会降低可读性。
这样的事情可能吗?我想作为一个解决方法表达式中使用赋值,但我的IDE抱怨说,找不到名称a,b以及c:
someFunction({a, b, c} = obj);
Run Code Online (Sandbox Code Playgroud)
一种选择是用于.map提取所需的每个属性的值,并将其传播到参数列表中:
someFunction(
...['a', 'b', 'c'].map(prop => obj[prop])
);
Run Code Online (Sandbox Code Playgroud)
不幸的是,解构需要创建中间变量,而您不需要。
| 归档时间: |
|
| 查看次数: |
396 次 |
| 最近记录: |