如何在 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";
有没有办法像这样在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";