Tell us what’s happening:
Why do I need to delete the curly brackets surrounding " (max + min) / 2.0; "? If I do delete them, my code passes the test, but the examples given show that the code within the function must have curly brackets surrounding it.
What am I missing in my understanding of this?
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.132 Safari/537.36.
Challenge: Use Destructuring Assignment to Pass an Object as a Function’s Parameters
this is a thing about arrow function features.
Usually, with the usual function syntax, you need to use the return keyword to define the output of a function. Arrow functions let you do a thing called implicit return, where:
x => { return x + 2; }
// the above does the same of the below
x => x + 2;
but if you use the curly brackets around the body function it extect explicit return (with the return keyword)
Because those are two different things. If you have no curly braces, then JS assumes that whatever that expression evaluates to, that it should return that. If you do include curly braces, then it is a code block and JS assumes that you will be handling the return explicitly, if you want one. If you return nothing, it is undefined.