Lo que quiero hacer es usar tantas variables inmutables como sea posible, reduciendo así la cantidad de partes móviles en mi código. Quiero usar "var" y "let" solo cuando sea necesario.
Esto no funcionará:
function constParam(const a){ alert('You want me to '+a+'!'); }¿Algunas ideas?
Los parámetros de función seguirán siendo enlaces mutables (como var ) en ES6, no hay nada que pueda hacer contra eso. Probablemente, la mejor solución que obtenga es desestructurar el objeto de arguments en una inicialización const :
function hasConstantParameters( const a, const b, const c, … ) { // not possible … } function hasConstantParameters() { const [a, b, c, …] = arguments; … } Tenga en cuenta que esta función tendrá una aridad diferente ( .length ), si la necesita, tendrá que declarar algunos parámetros de marcador de posición.
No puedes hacer un parámetro const . Úselo como el valor inicial de una variable local:
function constParam(a) { const const_a = a; ... } Tenga en cuenta también que const solo es compatible con Internet Explorer a partir de IE11. Ver esta tabla de compatibilidad
No hay forma de forzar que un parámetro sea inmutable en JavaScript. Tienes que hacer un seguimiento de eso tú mismo.
Simplemente escriba en un estilo en el que no cambie las variables. El hecho de que el idioma no proporcione ninguna facilidad para obligarlo a hacerlo no significa que no pueda hacerlo de todos modos.