w3schools entre diferencias javascript node.js ecmascript-6 io.js

javascript - entre - const vs let cuando se requieren llamadas



let javascript w3schools (4)

Const de prueba de rendimiento vs uso let en Node.js 6.10:

require(''do-you-even-bench'')([ { name: ''test 1'', fn: function() { const path = require(''path''); } }, { name: ''test 2'', fn: function() { let path = require(''path''); } } ]);

prueba 1 .... 2,547,746.72 op / s
prueba 2 .... 2,570,044.33 op / s

Como io.js ahora es compatible con ES6 , finalmente puede usar el const y let palabras clave. Obviamente, let es el sucesor de var , solo con algunos superpoderes.

Pero, ¿qué hay de const ? Sé, por supuesto, qué significa "constante", pero me preguntaba cuándo usarlo (con respecto a las mejores prácticas).

Por ejemplo, si creo un módulo que requiere otro módulo, podría escribir:

''use strict''; const util = require(''util''); const foo = function () { // Do something with util }; module.exports = foo;

Básicamente, he reemplazado cada aparición de var con const . En términos generales, creo que esto está bien, pero si sigo este patrón, me queda mucho más uso de const que de let , ya que la mayoría de las variables no son "variables" en un sentido literal.

¿Es este buen estilo? ¿Debería ir por let ? ¿Cuándo debería elegir const over let ?


Tengo la misma sensación que estás describiendo. Un gran porcentaje de las variables declaradas en mi código tienden a ser constante, incluso objetos y matrices. Puede declarar objetos y matrices constantes y aún así poder modificarlos:

const arr = []; arr.push(1); arr; // [ 1 ] const obj = {}; obj.a = 1; obj; // { a: 1 }

Los módulos AFAIK ES6 no requieren declaraciones de variables al importar, y sospecho que io.js se moverá a los módulos ES6 en un futuro próximo .

Creo que esta es una elección personal. Siempre usaría const cuando necesite módulos y para variables locales del módulo ( foo en su ejemplo). Para el resto de variables, use const de manera apropiada, pero nunca se enoje y use const en todas partes. No conozco el rendimiento entre let y const así que no puedo decir si es mejor usar const siempre que sea posible.


const puede usar normalmente cuando no quieres tu programa

  1. asignar algo a la variable

    "use strict"; const a = 1; a = 2;

    producirá TypeError: Assignment to constant variable. .

  2. para usar la variable sin inicializar explícitamente.

    "use strict"; const a;

    producirá SyntaxError: Unexpected token ;

En pocas palabras, yo diría,

  • use const siempre que quiera que algunas variables no se modifiquen

  • use let si quiere el opuesto exacto de const

  • use var , si desea ser compatible con las implementaciones de ES5 o si desea un alcance de nivel de módulo / función.

Use let solo cuando necesite un nivel de ámbito de bloque; de ​​lo contrario, usar let o var no supondría ninguna diferencia.


DEJA V / S CONST

Diferencia

  • La gran diferencia entre let y const es que intentar asignar una constante previamente definida generará un error en los modos estricto y no estricto

Semejanza

  • Similar a let, se genera un error cada vez que se realiza una declaración const con un identificador para una variable ya definida en el mismo ámbito.

Por ejemplo:

var message = "Hello!"; let age = 25; // Each of these would cause an error given the previous declarations const message = "Goodbye!"; const age = 30;

  • Las constantes también son declaraciones a nivel de bloque, similares a let. Eso significa que las constantes se destruyen una vez que la ejecución sale del bloque en el que se declararon y las declaraciones no se alzan a la parte superior del bloque.