如何在ES6中使用对象或数组解构赋值时混合const和let?

时间:2017-11-13 11:49:14

标签: javascript ecmascript-6 destructuring

示例:

const foo = {a: "A", b: "B"}
const {a, b} = foo

如果我希望b使用let成为变量怎么办?

2 个答案:

答案 0 :(得分:11)

您似乎无法在一行中区分变量的声明。但是,您可以将其拆分为两行并使用不同的变量声明,具体取决于您要获取的变量。

const { a } = foo; 
let { b } = foo;

答案 1 :(得分:4)

如果要与const一起使用数组解构分配,并可以使用省略。我们来看一个例子:

const [a, b, c] = foo;

如果您想让“ a”成为let,并让“ b”和“ c”为常量,则可以这样写:

let [ a ] = foo;
const [, b, c] = foo;

另一种方法是利用数组是一个对象这一事实。所以你也可以这样写:

let [a] = foo;
const {1: b, 2: c} = foo;

有关破坏的所有信息都可以在这里找到:http://exploringjs.com