Javascript 解构一个参数并保持对它的引用

Javascript 解构一个参数并保持对它的引用,javascript,ecmascript-6,Javascript,Ecmascript 6,在ES6中有没有一种方法可以分解一个参数并按名称引用它 myfunction(myparam) { const {myprop} = myparam; ... } 这可以在功能参数列表中的一行中完成吗?类似于Haskell在模式匹配中的@。没有语法支持。我想你可以用以下方法来解决这个问题: const myFunction = (function() { function myFunction(myparam, {myprop}) { // ... } r

在ES6中有没有一种方法可以分解一个参数并按名称引用它

myfunction(myparam) {
    const {myprop} = myparam;
    ...
}

这可以在功能参数列表中的一行中完成吗?类似于Haskell在模式匹配中的
@

没有语法支持。我想你可以用以下方法来解决这个问题:

const myFunction = (function() {
  function myFunction(myparam, {myprop}) {
    // ...
  }

  return function(myparam) {
    return myFunction(myparam, myparam);
  };
}());
甚至

function myFunction(myparam, {myprop}=myparam) {
  // ...
}

但这两种方法都可能被认为太黑客了。

不幸的是,没有。您正在分解
myparam
,您仍然可以访问它,对吗?我不明白这个问题,是的。我在问语法问题。我知道如何用各种方法来完成我需要的。我只是想知道这是否可以在一行中完成。@thefourtheye:类似于
myfunction(obj@{myprop})
。您可以在LiveScript中执行此操作,例如
f=({myprop}:obj)
。@elclanrs:好的。现在明白了。谢谢:-)