Por qué solo regresamos en el medio si la condición. ¿Alguien puede ayudarme a entender esa condición?
if (!name.trim()) { return; }Regresamos porque no tendremos que ejecutar el código después de la condición. Aumente el rendimiento y limpie el código
La razón por la que regresamos es para terminar la ejecución de la función:
Aquí hay un ejemplo con retorno:
const test = Array(100).fill(1) const getFifty = (arr) => { let sum = 0 for(let i = 0; i < 50; i++){ sum += arr[i] if(sum >= 50){ console.log("Sum is fifty at index" , i) return } } console.log("Sum is never fifty") } getFifty(test)Aquí hay un ejemplo sin retorno:
const test = Array(100).fill(1) const getFifty = (arr) => { let sum = 0 for(let i = 0; i < 50; i++){ sum += arr[i] if(sum >= 50){ console.log("Sum is fifty at index" , i) } } console.log("Sum is never fifty") } getFifty(test)En realidad, cuando usamos return en esta situación, hemos encontrado el resultado esperado y no necesitamos continuar siendo el cuerpo de la función. Vamos a explicar con un ejemplo. Supongamos que nos gustaría encontrar 75 de un bucle con índice y devolver el resultado. Cuando encontramos el resultado, no necesitamos ejecutar el resto del cuerpo de funciones. Este ejemplo también calcula el tiempo entre el momento en que no ejecuta el resto del cuerpo de la función y el momento en que ejecuta el resto del cuerpo de la función. Verá que también afecta el tiempo de ejecución.
function testWithoutReturn() { let result = 0; let t1 =new Date(); for (let i = 0; i < 100; i++) { if (i == 75) { result = 75 console.log("result founded but I will continue the loop needles!") } console.log(i); } let t2 = new Date(); getTimeDif(t1,t2) } function getTimeDif(t1,t2){ var dif = t1.getTime() - t2.getTime(); var sconds = dif / 1000; var result = Math.abs(sconds);; console.log(result) } testWithoutReturn() function testWithReturn() { let result = 0; let t1 =new Date(); for (let i = 0; i < 100; i++) { if (i == 75) { result = 75 console.log("result founded and it doesn't need to continue loop") let t2 = new Date(); getTimeDif(t1,t2) return; } console.log(i) } } function getTimeDif(t1,t2){ var dif = t1.getTime() - t2.getTime(); var sconds = dif / 1000; var result = Math.abs(sconds);; console.log(result) } testWithReturn()