Recentemente ho scritto molto codice ES6 per io.js. Non c'è molto codice in circolazione da cui imparare, quindi mi sento come se stessi definendo le mie convenzioni.
La mia domanda riguarda quando utilizzare const
rispetto a let
.
Ho applicato questa regola: se possibile, utilizza const
. Usa solo let
se sai che il suo valore deve cambiare. (Puoi sempre tornare indietro e modificare const
in let
se in seguito risulta necessario modificare il suo valore.)
Il motivo principale di questa regola è che è facile applicare in modo coerente. Non ci sono aree grigie.
Il fatto è che quando applico questa regola, in pratica il 95% delle mie dichiarazioni sono const
. E questo mi sembra strano. Sto solo usando let
per cose come i
in un ciclo for
, o occasionalmente per cose come i totali accumulati di Fibonacci (che non si presentano molto nella vita reale). Sono rimasto sorpreso da questo: risulta che il 95% delle "variabili" del mio codice ES5 fino ad oggi erano per valori che non variano. Ma vedere const
su tutto il mio codice sembra sbagliato in qualche modo.
Quindi la mia domanda è: va bene usare const
così tanto? Dovrei davvero fare cose come const foo = function () {...};
?
O dovrei riservare const
per quel tipo di situazioni in cui stai codificando un letterale nella parte superiore di un modulo, il tipo che fai in maiuscolo, come const MARGIN_WIDTH = 410;
?