Learning About Function Programming lesson 1

Please explain why the way I call the function for 40 tea works.
The argument request is not located with the function when i call it.
See code below.
I am trying to understand the line that has the following code:
“const tea4TeamFCC = getTea(40); // :(”

/**
 * A long process to prepare tea.
 * @return {string} A cup of tea.
 **/
const prepareTea = () => 'greenTea';

/**
 * Get given number of cups of tea.
 * @param {number} numOfCups Number of required cups of tea.
 * @return {Array<string>} Given amount of tea cups.
 **/
const getTea = (numOfCups) => {
  const teaCups = [];

  for(let cups = 1; cups <= numOfCups; cups += 1) {
    const teaCup = prepareTea();
    teaCups.push(teaCup);
  }

  return teaCups;
};

// Add your code below this line

const tea4TeamFCC = getTea(40); // :(

// Add your code above this line

console.log(tea4TeamFCC);

Hi!
There are two things happening here. The first one

const getTea(numOfCups) => { ... return teaCups }

defines the function getTea. It describes how the output teaCups is computed for any given input numOfCups. But nothing actually gets computed at this point.

The line

const tea4TeamFCC = getTea(40);

is where the function gets called. So for the concrete input teaCups=40 a concrete output is computed. This output is then saved in the variable tea4TeamFCC.

You can think of it like of the definition of a mathematical function f(x)=x² and its concrete usage f(5)=25.

I hope that helps.