有没有类似Python中解包序列的JavaScript等效方法?

18

是否有一个JavaScript等效的方法可以像Python中的“unpack sequences”一样解包序列?

a, b = (1, 2)

请将已接受的答案更改为Anthony的答案。现在是2018年,所有现代浏览器(和node.js)都支持它。 - noamtm
感谢@noamtm的建议。我已经更改了采纳的答案。 - tback
3个回答

15
[a, b] = [1, 2]

更新:

浏览器兼容性矩阵:

  • Firefox:所有版本
  • Opera:仅限9.x版本
  • Chrome:49及更高版本
  • MSIE:不支持
  • EdgeHTML:14(浏览器版本31,于2016年2月发布)
  • Safari:7.1(Safari移动版为8)

为什么?哪些实现受到影响?您有更多链接吗? - tback
3
在Opera 10中可用,Firefox 3中也可用,但在IE 8和Chrome中不可用。并非普适。 - Antony Hatchkins
2
首先,这段代码在IE、Chrome或Safari的实现中无法工作。我相信在主流浏览器方面,只有Firefox和Opera支持它。 - Andy E
8
@Alsciende 我很想将你的评论标记为冒犯性,因为你提到了IE6 ;) - tback

8

没有。JavaScript没有这样的语法糖。


1
这个答案比我的不正确。被接受的答案应该是“在现代浏览器中只有Firefox有这个功能”。 - Antony Hatchkins
@AntonyHatchkins和Marcin,这是ECMAScript 2015的内容:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment - leewz
这个答案已经不正确了。请查看@AntonyHatchkins的答案。 - noamtm

-4

一个对象不能包含对整数的引用,只能包含其值。因此我无法看到在JavaScript中实现您要求的任何方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接