You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript是否支持类似Clojure :as的数组解构完整绑定?

JavaScript数组解构的整体绑定方法

JavaScript没有Clojure里:as那种专门的关键字,能直接在数组解构时绑定整个数组,但不用非得分步操作,有更简洁的写法。

比如你可以这么写:

const queue = [[1, 2]];
let pos;
const [x, y] = pos = queue.shift();

跑完这段代码,x是1,y是2,pos就是[1,2],一步就完成了解构元素和绑定整个数组的操作。

要是不想提前声明pos,也能通过对象解构结合数组转换实现,但这种方式有点啰嗦:

const queue = [[1, 2]];
const { 0: x, 1: y, [Symbol.iterator]: iter } = queue.shift();
const pos = Array.from(iter);

相比之下第一种写法更直观好用。

当然你一开始给的分步写法也完全没问题,要是追求代码可读性,分步操作反而更清楚。

内容的提问来源于stack exchange,提问作者user2609980

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:05:48