web-dev-qa-db-fra.com

Comment mélanger const et let lors de l'utilisation de la déstructuration d'objets ou de tableaux dans ES6?

Exemple :

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

Que faire si je veux que b soit une variable utilisant let?

19
PhilipGarnero

Il semble que vous ne puissiez pas différencier la déclaration d'une variable sur une seule ligne. Cependant, vous pouvez le diviser en deux lignes et utiliser une déclaration de variable différente, selon la variable que vous souhaitez obtenir.

const { a } = foo; 
let { b } = foo;
19
kind user

Si vous souhaitez utiliser l'affectation de déstructuration de tableau avec const et laissez vous pouvez utiliser elision. Prenons un exemple:

const [a, b, c] = foo;

Si vous voulez que "a" soit un let, et "b" et "c" const, vous pouvez écrire:

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

Une autre façon consiste à utiliser le fait que le tableau est un objet. Vous pouvez donc l'écrire aussi comme ceci:

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

Tout sur la destruction peut être trouvé ici: http://exploringjs.com

11
drazewski