Come io.js ora supports ES6 si è finalmente in grado di utilizzare le parole chiave const
e let
. Ovviamente, let
è il successore di var
, solo con alcuni superpoteri.const vs let quando si chiama richiede
Ma che dire di const
? So, ovviamente, che cosa significa "costante", ma mi stavo chiedendo quando usarlo (per quanto riguarda le migliori pratiche).
esempio se creo un modulo che richiede un altro modulo, potrei scrivere:
'use strict';
const util = require('util');
const foo = function() {
// Do something with util
};
module.exports = foo;
Fondamentalmente ho sostituito ogni occorrenza di var
con const
. In generale, penso che questo sia ok, ma se seguo questo schema, mi lascia molto più usi di const
rispetto a let
, poiché la maggior parte delle variabili non sono "variabili" in senso letterale.
È questo buono stile? Dovrei preferire il let
? Quando dovrei scegliere const
su let
?
Mi aspetterei che 'const' sia tutto in maiuscolo, come' const KEY_A = 65' per esempio. – elclanrs
Il modo in cui penso a questo, è che un 'const' dovrebbe essere usato se il valore non deve mai essere cambiato, o, soprattutto, protetto dal cambiamento. 'let' dovrebbe essere usato quando il valore deve essere sovrascritto/modificato in seguito, ed entrambi dovrebbero essere usati quando è necessaria una variabile con scope a blocchi e non una variabile con scope per una funzione. Se hai bisogno di una variabile scope della funzione, 'var' è ancora disponibile. Potrei sbagliarmi, non ho letto molto su ES6/2015. – adeneo
Dichiarare 'util' come' const' significa solo che quella variabile non può essere impostata su un valore diverso. ** Tuttavia **, è ancora possibile aggiungere, modificare e rimuovere proprietà da esso se non è una primitiva. – idbehold