w3schools node entre diferencia javascript node.js electron

node - ¿Cuál es la diferencia entre const y const{} en javascript?



hoisting (3)

Cuando estudio electrón, encontré 2 formas de obtener el objeto BrowserWindow.

const {BrowserWindow} = require(''electron'')

y

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

¿Cuál es la diferencia entre const y const {} en JavaScript?

No puedo entender por qué el const {} puede funcionar. ¿Echo de menos algo importante sobre JS?


Esta es una de las nuevas características de ES6. La notación de llaves es parte de la llamada destructuring assignment . Lo que esto significa es que ya no tiene que obtener el objeto en sí y asignar variables para cada propiedad que desee en líneas separadas. Puedes hacer algo como:

const obj = { prop1: 1, prop2: 2 } // previously you would need to do something like this: const firstProp = obj.prop1; const secondProp = obj.prop2; console.log(firstProp, secondProp); // etc. // however now you can do this on the same line: const {prop1, prop2} = obj; console.log(prop1, prop2);

Como ha visto al final, la funcionalidad es la misma: simplemente obtener una propiedad de un objeto.

También hay más en la tarea de desestructuración: puede verificar la sintaxis completa en MDN: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment


Las dos piezas de código son equivalentes, pero la primera usa la asignación de desestructuración ES6 para ser más corta.

Aquí hay un ejemplo rápido de cómo funciona:

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


const {BrowserWindow} = require(''electron'')

La sintaxis anterior usa ES6. Si tiene un objeto definido como:

const obj = { email: "[email protected]", title: "Hello world" }

Ahora, si queremos asignar o usar el correo electrónico y el campo de título de obj, entonces no tenemos que escribir toda la sintaxis como

const email = obj.email; const title = obj.title;

Esta es la vieja escuela ahora.

Podemos usar la asignación de Desestructuración ES6 , es decir, si nuestro objeto contiene 20 campos en el objeto obj, entonces solo tenemos que escribir los nombres de los campos que queremos usar de esta manera:

const { email,title } = obj;

Este es el sintaxis más simple de ES6. Asignará automáticamente el correo electrónico y el título del obj , solo el nombre debe estar correctamente indicado para el campo requerido.