【问题标题】:How to assign multiple variables at once in JavaScript?如何在 JavaScript 中一次分配多个变量?
【发布时间】:2016-07-16 13:43:52
【问题描述】:

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

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

相当于这样:

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

【问题讨论】:

  • 如果你愿意; var a = "一", b = "二";

标签: javascript multiple-assignment


【解决方案1】:

在 ES6 中你可以这样做:

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

以上代码是 ES6 符号,称为数组解构/对象解构(如果是对象)。

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

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

【讨论】:

  • 请多加一些描述,让答案完全可以理解
  • 如果您不确定此处使用的技术术语,请阅读并将其添加到您的答案中。 developer.mozilla.org/en/docs/Web/JavaScript/Reference/…
  • 它的解构我们可以使用数组解构,因为我们在谈论数组
  • var [a, b] = [1,2,3,4,5]
  • 我会删除“对象解构”部分,因为它的语法与所介绍的语法完全不同,这可能会让初学者感到困惑
【解决方案2】:

虽然您不能使用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

从模块中导入多个导出。这会将 foo 和 bar 都插入到当前作用域中。

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2021-08-01
    相关资源
    最近更新 更多