valor - Convenciones estándar para indicar que un argumento de función no se utiliza en JavaScript
retornar valor de una funcion javascript (2)
Con los navegadores que soportan la desestructuración se puede hacer:
function ({}, {}, value) {
// console.log(value)
}
Lo cual es bastante claro, ya que evita el problema de que múltiples argumentos tengan el mismo nombre y tampoco crearán problemas con las bibliotecas que asignan métodos a _
(lodash, guión bajo, etc.).
Un problema con este enfoque es que los argumentos no utilizados de tipo undefined
o null
se lanzarán.
Para undefined
una solución es usar parámetros por defecto:
function ({}={}, {}={}, value) {
// console.log(value)
}
Lamentablemente no existe tal solución de fácil aplicación para null
.
¿Hay alguna forma estándar de marcar un argumento de función como no utilizado en JavaScript, análogo a iniciar un argumento de método con un guión bajo en Ruby?
Para que podamos trabajar con un ejemplo, esto es bastante común con jQuery $.each
que se escribe un código que no necesita el índice, solo el valor, en la devolución de llamada de iteración ( $.each
es hacia atrás en relación con Array#forEach
):
$.each(objectOrArrayLikeThing, function(_, value) { }
// Use value here
});
Usar _
es lo más cercano que he visto a una forma estándar de hacerlo, sí, pero también he visto muchos más, dándole un nombre que refleja su propósito de todos modos ( index
), llamándolo no unused
, etc.