what is the difference between const and const {} in javascript

Kevin00000000 picture Kevin00000000 · Dec 9, 2016 · Viewed 47.5k times · Source

When I study electron, I found 2 ways of getting BrowserWindow object.

const {BrowserWindow} = require('electron')

and

const electron = require('electron')
const BrowserWindow = electron.BrowserWindow

What is the difference between const and const {} in JavaScript?

I can't understand why the const {} can work. Do I miss anything important about JS?

Answer

VLAZ picture VLAZ · Dec 9, 2016

The two pieces of code are equivalent but the first one is using the ES6 destructuring assignment to be shorter.

Here is a quick example of how it works:

const obj = {
  name: "Fred",
  age: 42,
  id: 1
}

//simple destructuring
const { name } = obj;
console.log("name", name);

//assigning multiple variables at one time
const { age, id } = obj;
console.log("age", age);
console.log("id", id);

//using different names for the properties
const { name: personName } = obj;
console.log("personName", personName);