【问题标题】:Destructuring assignment with function arguments使用函数参数解构赋值
【发布时间】:2013-04-04 14:33:50
【问题描述】:
function foo( [a,b] ) {

    console.log(a);
    console.log(b);
}

foo( [12,34] );

打印:

12
34

也在这里:

 var { a:x, b:y } = { a:7, b:8 };
 console.log(x); // prints: 7
 console.log(y); // prints: 8

这种分配方法有效吗?这种方法会不会带来什么问题?

同样使用相同的技术,我们可以交换两个变量:

var a = 1;
var b = 2;
[a,b] = [b,a];

我只是想知道这种类型的作业将来会出现什么问题?我在哪里可以找到与此类作业相关的最佳参考?

【问题讨论】:

  • 第一个给我“意外的令牌 [”,第二个“意外的令牌 {”和第三个“分配中的无效左侧”。哪个浏览器(或其他 JS 实现)接受这些分配?
  • 所有这些都是无效代码。你是怎么让他们工作的?
  • 因为你不会告诉你是如何或在哪里让这些工作的,而且所有的例子显然都是无效的 JS,我将不得不投票结束,因为这不是一个真正的问题。
  • @Juhana 文章说是js 1.7代码
  • 那是什么文章?

标签: javascript


【解决方案1】:

这是 Javascript 1.7 的一项功能,它是 Mozilla Javascript 实现的一部分。

https://developer.mozilla.org/en-US/docs/JavaScript/New_in_JavaScript/1.7#Destructuring_assignment_(Merge_into_own_page.2Fsection)

它不是任何 ECMAScript 标准的一部分(据我所知),我认为没有任何计划让它在其他浏览器中可用;您不应该在便携式网站中使用它。

【讨论】:

猜你喜欢
  • 2017-07-12
  • 2016-10-30
  • 1970-01-01
  • 2019-10-23
  • 1970-01-01
  • 2019-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多