有没有办法像这样在 JavaScript 中执行多重赋值:
var a, b = "one", "two";
这相当于:
var a = "one";
var b = "two";
有没有办法像这样在 JavaScript 中执行多重赋值:
var a, b = "one", "two";
这相当于:
var a = "one";
var b = "two";
在 ES6 中,你可以这样做:
var [a, b] = ["one", "two"];
上面的代码是 ES6 符号,称为数组解构/对象解构(如果它是一个对象)。
您在表达式的右侧提供数组,并且在左侧有被方括号包围的逗号分隔变量。
第一个变量映射到第一个数组值,依此类推。
虽然你不能这样做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 中看到这一点,以导入模块的成员:
从模块导入多个导出。这会将 foo 和 bar 都插入当前范围。
import {foo, bar} from '/modules/my-module.js';
不,你不能这样做。Javascript 不支持这种类型的声明