如何在 JavaScript 中一次分配多个变量?

How to assign multiple variables at once in JavaScript?

有没有办法像这样在JavaScript中执行多重赋值:

var a, b = "one", "two";

相当于:

var a = "one";
var b = "two";

在 ES6 中你可以这样做:

var [a, b] = ["one", "two"];

以上代码是ES6写法,称为数组destructuring/object解构(如果是对象)

您在表达式的右侧提供数组,并且在左侧用方括号括起逗号分隔的变量。

第一个变量映射到第一个数组值,依此类推。

不,你不能这样做。 Javascript 不支持这种类型的声明

虽然您不能var a, b = "one", "two";,并按各自的顺序将它们分配给每个变量,您可以var a, b; 将这些变量 初始化为 undefined

你也可以var a, b = 'foo';将b赋值给'foo',同时将'a'初始化为undefined

var a, b;

> a
--> undefined
> b
--> undefined
> var d, e;

> e
--> undefined

> f 
--> Uncaught ReferenceError: f is not defined

> var c, g = 'foo';

> c
--> undefined
> g
--> "foo"

对象解构

看起来像:

const user = {
  id: 42,
  is_verified: true
};

const {id, is_verified} = user;

console.log(id); // 42
console.log(is_verified); // true 

您还会在 JavaScript 到 import members of a module:

中看到这个

Import multiple exports from module. This inserts both foo and bar into the current scope.

import {foo, bar} from '/modules/my-module.js';

如果您不完全认同将值放在语句末尾的想法,则此方法可行:

var a = "one", b = "two";

如果要赋值给已经声明的变量,可以使用comma operator使其成为one-liner。

a = "ONE", b = "TWO";