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?

3
chris 5 nov. 2019 a las 00:36

2 respuestas

La mejor respuesta

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' }).

4
Andrii Golubenko 4 nov. 2019 a las 21:48

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()
3
Dylan 4 nov. 2019 a las 21:37