mli*_*bre 6 javascript multiple-assignment
有没有办法在JavaScript中执行多个赋值,如下所示:
var a, b = "one", "two";
Run Code Online (Sandbox Code Playgroud)
这相当于:
var a = "one";
var b = "two";
Run Code Online (Sandbox Code Playgroud)
Piy*_*oor 27
在ES6中你可以做到
var [a,b] = ["one" , "two"];
Run Code Online (Sandbox Code Playgroud)
上面的代码是ES6表示法,称为数组解析/对象解构(如果它是一个对象).
您在表达式的右侧提供了数组,并且左侧有方括号括起来的逗号分隔变量
第一个变量映射到第一个Array值,依此类推
虽然您不能这样做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"
Run Code Online (Sandbox Code Playgroud)
好像:
const user = {
id: 42,
is_verified: true
};
const {id, is_verified} = user;
console.log(id); // 42
console.log(is_verified); // true
Run Code Online (Sandbox Code Playgroud)
您还将在 JavaScript 中看到这一点以导入模块的成员:
从模块导入多个导出。这会将 foo 和 bar 都插入到当前作用域中。
import {foo, bar} from '/modules/my-module.js';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5201 次 |
| 最近记录: |