Search code examples
javascriptnode.jsdestructuring

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


When I study Electron, I found two ways of getting a 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 JavaScript?


Solution

  • 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);