It works , but how

Tell us what’s happening:
How does the function knows that it’s going to destruct stats object since we are not explicitly passing it anywhere?

What if there is another object?

Your code so far

const stats = {
max: 56.78,
standard_deviation: 4.34,
median: 34.54,
mode: 23.87,
min: -0.75,
average: 35.85

// Only change code below this line
const half = ({max, min}) => (max + min) / 2.0; 
// Only change code above this line

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36.

Challenge: Use Destructuring Assignment to Pass an Object as a Function’s Parameters

Link to the challenge:

The following line explicitly calls the half function and passes the stats object.


Thanks, @RandellDawson, I got it.

Also, the tests which run behind-the-scenes make the same call to the function. The second test compares the result of calling the half function with stats as the object to the value 28.015 as so:

  - text: <code>half(stats)</code> should be <code>28.015</code>
    testString: assert(half(stats) === 28.015);