Adjunto el código a continuación, para la línea al final logTime(name2, day2); Obtengo el mismo nombre para el primer alcance. Para logEvent obtengo el resultado deseado, que es warren, pero para logTime obtengo Nala en lugar de warren. Gracias por adelantado
// The scope of `random` is too loose const random = Math.floor(Math.random() * 3); const getRandEvent = () => { if (random === 0) { return 'Marathon'; } else if (random === 1) { return 'Triathlon'; } else if (random === 2) { return 'Pentathlon'; } }; // The scope of `days` is too tight const getTrainingDays = event => { let days; if (event === 'Marathon') { days = 50; } else if (event === 'Triathlon') { days = 100; } else if (event === 'Pentathlon') { days = 200; } return days; }; const name = 'Nala'; // The scope of `name` is too tight const logEvent = (name, event) => { console.log(`${name}'s event is: ${event}`); }; const logTime = (names, days) => { console.log(`${name}'s time to train is: ${days} days`); }; const event = getRandEvent(); const days = getTrainingDays(event); // Define a `name` variable. Use it as an argument after updating logEvent and logTime logEvent(name, event); logTime(name, days); const event2 = getRandEvent(); const days2 = getTrainingDays(event2); const name2 = 'Warren'; logEvent(name2, event2); logTime(name2, days2);cambie el name en el registro a names o cambie los names de variables en el argumento del método a name
const logTime = (name, days) => { console.log(`${name}'s time to train is: ${days} days`); };o
const logTime = (names, days) => { console.log(`${names}'s time to train is: ${days} days`); };