Corchetes en funciones de flecha: retornos implícitos frente a explícitos
Las funciones de flecha se pueden escribir de dos maneras: con o sin llaves. Cuando no hay llaves, el cuerpo de la función se considera un "cuerpo conciso" y la última expresión dentro de él se devuelve implícitamente.
Devolución implícita con cuerpo conciso
En el ejemplo sin llaves:
state.map(one => oneTodo(one, action))
La función regresa inmediatamente el resultado de llamar a oneTodo en un argumento.
Retorno explícito con bloque
Cuando se introducen llaves, como en el primer bloque de código:
state.map(one => { oneTodo(one, action) })
Se crea un bloque y debe devolver explícitamente un valor. La declaración de devolución en este bloque es necesaria para indicar qué valor se debe devolver.
Cuándo usar llaves
En el contexto del ejemplo proporcionado, el código funciona en ambos sentidos porque el cuerpo conciso devuelve implícitamente el resultado de oneTodo. Sin embargo, las pruebas fallan cuando se utilizan llaves sin un retorno explícito porque no hay ningún valor que devolver. Por lo tanto, para mayor claridad y coherencia, se recomienda utilizar llaves y una declaración de retorno explícita cuando el cuerpo de la función contiene varias declaraciones o requiere valores de retorno explícitos.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3