有没有办法在JavaScript中执行多个赋值,如下所示:
var a, b = "one", "two";
这相当于:
var a = "one";
var b = "two";
答案 0 :(得分:24)
在ES6中你可以做到
var [a,b] = ["one" , "two"];
上面的代码是ES6表示法,称为数组解析/对象解构(如果它是一个对象)。
您在表达式的右侧提供数组,并且左侧有方括号包围的逗号分隔变量
第一个变量映射到第一个Array值,依此类推
答案 1 :(得分:0)
虽然您无法执行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;
--> f
Uncaught ReferenceError: f is not defined
> e
--> undefined
> 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 :
从模块导入多个导出。这会将foo和bar插入当前作用域。
import {foo, bar} from '/modules/my-module.js';
答案 2 :(得分:-3)
不,你不能这样做。 Javascript不支持此类声明