如何在JavaScript中从一个函数中返回多个值

128 阅读1分钟

函数只返回一个值。我们怎样才能模拟从一个函数中返回多个值呢?

当我们在JavaScript中调用一个函数时,我们只能使用return 语句返回一个值。

const getAge = () => {
  return 37
}

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

我们怎样才能从一个函数中返回多个值呢?

一个简单的技巧是返回一个数组

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

这很好,由于数组的重构,我们可以通过这种方式得到这些值。

const [age, name] = getDetails()

现在我们有了包含这些值的agename 变量。

注意,我们在const [age, name] = getDetails() 中定义这些变量的顺序很重要。

我们也可以返回一个对象并使用对象析构。

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

const { age, name } = getDetails()

在这种情况下,agenameconst { age, name } = getDetails() 中的顺序就不再重要了,因为这些是命名的参数。