2016-01-15 14 views
6

czy istnieje sposób w ES6, aby zniszczyć parametr i podać go również po nazwie?zniszczyć parametr i zachować do niego odniesienie

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

Czy można to zrobić w jednym wierszu na liście parametrów funkcji? Coś podobnego do pasującego do Haskella @.

+1

Niestety nie ma. – elclanrs

+0

Niszczycie 'myparam' i nadal możesz uzyskać do niego dostęp, prawda? Nie mam pytania. – thefourtheye

+0

tak. Pytam o składnię. Wiem, jak osiągnąć to, czego potrzebuję, na różne sposoby. Właśnie zastanawiałem się, czy można to zrobić w pojedynczej linii. – akonsu

Odpowiedz

1

Nie ma obsługi składni dla tego. Myślę, że można włamać się wokół tego z czymś takim:

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

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

lub nawet

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

ale oba mogą być uznane za zbyt hacky.

0

Tak, to może być uproszczone do:

function myfunction({myprop}) { 
    ... 
} 
+0

to nie jest istotne – akonsu

Powiązane problemy