Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从一个函数的返回对象在另一个返回对象中构造变量_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 从一个函数的返回对象在另一个返回对象中构造变量

Javascript 从一个函数的返回对象在另一个返回对象中构造变量,javascript,ecmascript-6,Javascript,Ecmascript 6,我知道我可以执行const{name:userName}=getName(),然后返回{userName} function returnName(){ return { name: "Jason" } } function getUserName(){ return { userName : getName() } } 我可以在getUserName中只有一个返回块的内部销毁它吗 function getUserName(){ return { userNam

我知道我可以执行
const{name:userName}=getName()
,然后
返回{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
 }
}

我认为您正在寻找一个微不足道的财产访问:

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

不要让它变得比需要的更复杂,这里不需要任何分解

正如bergi指出的,您可以使用:

function getUserName() {
  return {
    userName: getName().name
  };
}
我想添加进一步澄清的步骤(以便您确切知道发生了什么):

  • getName()
    函数返回一个对象,该对象(尽管它位于另一个对象文本中)只是一个常规javascript对象
  • 要从该对象检索键的值,只需使用点
    操作符即可

  • 是的,我知道怎么做,但破坏是如此的酷,我有麻烦破坏像现在这样,或者知道它是否可能。另外,如果名字里面还有其他的注射剂,比如名字和姓氏,那么我必须再做一次。名字。@JOHNC哦,不,这里不可能-解构赋值不是生成新值的表达式。你不应该仅仅因为编程语言的特性“很酷”就使用它们。