Explicador de Año del cerdo
Objetivo de este acertijo: Usar la palabra reservada return
para devolver un valor de una función.
Tutorial de la solución: El acertijo comienza con dos variables declaradas: dogName
(un string) y dogAge
(un número). Puedes cambiar los valores de las dos variables a un string y un número distinto según lo que consideres conveniente.
También se declara la función lengthOfName()
. Esta función toma un string, usa el método .length
para calcular la longitud del string, y luego devuelve ese valor mediante la palabra reservada return
.
La función ageInHumanYears()
también se declara. Toma una edad (un número) y calcula age * 7
, pero aún no está usando la palabra reservada return
. Debido a que no hay return
, la función devolverá undefined
en su lugar.
Intenta ejecutar el código de inicio cuando se carga el acertijo. Como ageInHumanYears()
no tiene la palabra reservadareturn
, se imprimirá el siguiente texto en la consola:
'The length of the name Pooky Mulder is 12 characters.'
'Pooky Mulder is undefined in human years.'
ageInHumanYears()
todavía está realizando el cálculo age * 7
, pero no está devolviendo la respuesta, de modo que en su lugar se imprime undefined
.
Para completar el acertijo, reemplaza age * 7
por return age * 7
. Ahora, cuando el programa se ejecute, se imprimirá el texto correcto en la consola:
> 'The length of the name Pooky Mulder is 12 characters.'
> 'Pooky Mulder is 14 in human years.'
Dado que se ha agregado la palabra reservada return
, ahora se puede acceder al valor de age * 7
fuera de la función.
Solución del código de ejemplo:
let dogName = 'Pooky Mulder';
let dogAge = 2;
function lengthOfName(name) {
return name.length;
}
function ageInHumanYears(age) {
return age * 7;
}
console.log('The length of the name ' + dogName + ' is ' + lengthOfName(dogName) + ' characters.');
console.log(dogName + ' is ' + ageInHumanYears(dogAge) + ' in human years.');
Conceptos de JavaScript: devolución, declaraciones de funciones, variables con let, métodos de string