Question about 'Training Days' project

In the project I see that in the getTrainingDays function there are IF statements that evaluate IF event === a specific value and then sets days to a corresponding value. Where im not understanding is how does this code declare that event is equal to a perticular value anywhere? I get that we do a randevent return above, but I dont see how this sets the output of that event to a vairable called event. What am I missing here?

tl;dr: how does the getTrainingDays function know what event is if we arent assigning a value to something called event anywhere?

// The scope of `random` is too loose const getRandEvent = () => { const random = Math.floor(Math.random() * 3); 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; }; // The scope of `name` is too tight const name = 'Nala'; const logEvent = (name, event) => { console.log(`${name}'s event is: ${event}`); }; const logTime = (name, 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);
const getTrainingDays = event => {
  ...
};

event is the parameter of your function getTrainingDays. It will be assigned the value of whatever argument you pass into it at the time of function call.

const days2 = getTrainingDays(event2);

Here the event paramater is getting assigned whatever the value of event2 is.

1 Like

ah, yes I see now. When i run a console.log(event) inside the function block it returns the value of event which is being assigned as part of the function. Thanks friend.

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.