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

ES6语法如何在同一行声明并赋值多个变量?(附需求示例)

ES6同一行声明并赋值多个变量的正确姿势

当然可以用ES6语法在同一行完成多变量的声明和赋值啦!先帮你分析下你之前尝试的两种写法为啥行不通:

  • let [mX,mY,mXDZ,mYDZ] = 50;:数组解构要求右侧是可迭代对象(比如数组、字符串),但50是数值类型,无法被解构,所以会报错。
  • let mX,mY,mXDZ,mYDZ = 50;:这种写法里,只有最后一个变量mYDZ被赋值为"50",前面的mX、mY、mXDZ仅完成声明,值为undefined,不符合所有变量都赋值的需求。

下面给你两种符合要求的实现方式,兼顾可读性和ES6特性:

方式1:直观的逗号分隔赋值(可读性优先)

如果变量数量不多,直接在一行内为每个变量显式赋值,是最直观易懂的写法:

let mX = "50", mY = "50", mXDZ = "50", mYDZ = "50";

方式2:ES6数组解构 + Array.fill()(简洁性优先)

如果变量较多,不想重复写同一个值,可以借助Array.fill()生成指定长度且元素全为目标值的数组,再通过解构赋值分配给各个变量:

let [mX, mY, mXDZ, mYDZ] = Array(4).fill("50");

这里Array(4)创建了长度为4的数组,fill("50")将数组所有位置填充为"50",解构时会把数组的每个元素对应赋值给左侧的变量,完美实现批量赋值,代码也很简洁。

两种方式都符合ES6规范,你可以根据变量数量和代码风格偏好选择~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:44:28