有没有一种方法可以就地解构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) 在C ++中定义名称空间的成本是多少?我所说的具体是指编译时/运行时增加和/或内存占用。假设我有一个带有头文件的普通程序,一个带有main的.cpp程序。如果我namespace在标头中定义a ,我是否会注意到上述统计数据的变化?10、100或1,000个名称空间如何?如果已定义但从未使用过该怎么办:这会改变答案吗?我猜您可能会说我很好奇此构造如何与编译器进行交互。
同样,我对struct/ class定义和的影响感到好奇using,但我想不出一个涵盖这三个问题的好标题。
我已经在使用鱼壳了一段时间,最近我和同事就局部变量进行了交谈。显然,Bash不支持局部变量,仅使用环境变量在进程之间传递动态数据。局部变量是否也只是环境变量,但还有一些额外的内容?我对鱼如何造成这种行为感到好奇。