Javascript (ES6) const avec des accolades [dupliquer]
cette question a déjà une réponse ici:
je suis nouveau à ECMAScript 6, et tout en essayant d'apprendre Ember, j'ai vu le code suivant à l'occasion:
const {
abc,
def
} = Object;
j'ai cherché Google et de nombreux sites expliquant les nouvelles spécifications ES6. Je sais que ce n'est pas l'implémentation actuelle, parce que ma console donne une erreur quand je l'entre.
que signifie ce code?
mise à JOUR
j'ai collé cet extrait dans babel's transpiler , et c'est ce qu'il a retourné:
"use strict";
var abc = Object.abc;
var def = Object.def;
je suis encore confus sur ce qu'il tente d'accomplir.
1 réponses
C'est un ES2015 déstructuration "assignation 151940920" .
cela pourrait aider de le voir réécrit d'une manière plus verbeuse.
const abc = Object.abc;
const def = Object.def;
c'est une façon syntatiquement courte d'extraire des propriétés des objets, en variables.
// you can rewrite this
const name = app.name;
const version = app.version;
const type = app.type;
// as this
const { name, version, type } = app;
les vendeurs de navigateur sont toujours la mise en œuvre la spécification ES2015 qui est probablement la raison pour laquelle il n'a pas fonctionné dans votre navigateur.
cependant, il y a un projet appelé Babel qui vous permet de convertir les futures spécifications de Javascript en ES5. Vous pouvez essayer le code ES2015 dans leur REPL .