He estado escribiendo mucho código ES6 para io.js recientemente. No hay mucho código en la naturaleza para aprender, así que siento que estoy definiendo mis propias convenciones a medida que avanzo.
Mi pregunta es sobre cuándo usar const
vs let
.
He estado aplicando esta regla: si es posible, usa const
. Solo use let
si sabe que su valor debe cambiar. (Siempre puedes volver atrás y cambiar un const
a un let
si más tarde resulta que necesitas cambiar su valor).
La razón principal de esta regla es que es fácil de aplicar de manera consistente. No hay áreas grises.
La cuestión es que cuando aplico esta regla, en la práctica, el 95% de mis declaraciones son const
. Y esto me parece raro. Solo estoy usando let
para cosas como i
en un bucle for
, u ocasionalmente para cosas como los totales de Fibonacci acumulados (que no aparecen mucho en la vida real). Me sorprendió esto: resulta que el 95% de las 'variables' en mi código ES5 hasta la fecha eran para valores que no varían. Pero ver const
en todo mi código se siente mal de alguna manera.
Entonces, mi pregunta es: ¿está bien usar const
tanto? ¿Realmente debería estar haciendo cosas como const foo = function () {...};
?
¿O debería reservar const
para ese tipo de situaciones en las que está codificando un literal en la parte superior de un módulo, el tipo que hace en mayúsculas, como const MARGIN_WIDTH = 410;
?