从函数的返回对象描述变量,再插入另一个返回对象

时间:2018-10-06 13:02:46

标签: javascript ecmascript-6

我知道我可以先做const { name: userName }= getName(),然后再做return { userName }

function returnName(){
  return { name: "Jason" }
}


function getUserName(){
  return {
    userName : getName()
  }
}

我可以在getUserName中只有一个返回块内销毁它吗?

function getUserName(){
 return {
   userName : {[getName()] : name} // I know it doesnt work, but want something like this
 }
}

2 个答案:

答案 0 :(得分:3)

我认为您正在寻找一个简单的属性访问权限:

function getUserName() {
  return {
    userName: getName().name
  };
}

不要让它变得比需要的复杂,这里不需要任何破坏!

答案 1 :(得分:0)

像bergi一样,您可以使用:

function getUserName() {
  return {
    userName: getName().name
  };
}

我想添加进一步说明的步骤(以便您确切地知道会发生什么):

  1. getName()函数返回一个对象,该对象(尽管它位于另一个对象文字中)只是一个常规的javascript对象。
  2. 要从此对象中检索键的值,只需使用点.运算符