28

What does this syntax mean in JavaScript (ES6 probably):

const {} = variablename;

I'm currently trying to get a grip of React. In a lot of examples I came across that syntax. For example:

const {girls, guys, women, men} = state;
Angelo A
  • 2,536
  • 6
  • 26
  • 36
  • 4
    It's called [destructuring assignment.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) – Pointy Feb 15 '16 at 17:58

1 Answers1

48

First of all, this has nothing to do with React. It's part of ECMAScript 6 (or JavaScript 2015, if you prefer).

What you see here is called Destructuring assignment:

const {girls, guys, women, men} = state;

// Is the same as

const girls = state.girls;
const guys = state.guys;
const women = state.women;
const men = state.men;


You're probably going to encounter a similar pattern while studying React:

import { methodA, methodB } from "my-module";

In this case, you have a module called my-module that is exporting some functions. With the import {} from syntax, you choose which functions you want to import. Note that this is not a destructuring assignment, although it works similarly.

Giorgio Polvara - Gpx
  • 17,674
  • 9
  • 61
  • 60