When we call a function in JavaScript, we can only return one value using the return statement:

const getAge = () => {
return 37
}

const getName = () => {
return 'Flavio'
}


How can we return multiple values from a function?

One easy trick is to return an array

const getDetails = () => {
return [37, 'Flavio']
}


This is fine, and we can get the values in this way thanks to array destructuring:

const [age, name] = getDetails()


Now we have the age and name variables that contain those values.

Note that the order we define those in const [age, name] = getDetails() matters.

We can also return an object and use object destructuring:

const getDetails = () => {
return {
age: 37,
name: 'Flavio'
}
}

const { age, name } = getDetails()


In this case, the order of age and name in const { age, name } = getDetails() does not matter any more, because those are named parameters.