Estoy trabajando en algún código, y he tropezado con algo con lo que no estoy familiarizado.
export const doSomething = () => [ someFunction(), bind(stuff, stuff, stuff) ];
Nunca he visto una función de flecha con un corchete como ese, ¿alguien más? Si es así, ¿cuál es el significado de cómo funciona?
2 respuestas
Este código significa que la función doSomething
devuelve una matriz cuando
[0]
element - el resultado de la ejecución de la función someFunction()
y
[1]
element - el resultado de la ejecución de la función bind(stuff, stuff, stuff)
.
Este es un atajo para:
export const doSomething = () => {
return [ someFunction(), bind(stuff, stuff, stuff) ]
};
Pero tenga cuidado si desea hacer un acceso directo para devolver objetos. Tienes que ajustar los objetos entre paréntesis ()
, como este:
export const doSomething = () => ({ name: 'John' })
.
Sólo está devolviendo una matriz.
Puede usarlo con una asignación de destrucción, por ejemplo.
const [someResult, boundStuff] = doSomething()
O como cualquier función antigua, por ejemplo.
const something = doSomething()
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.