2016-01-15 16 views
6

c'è un modo in ES6 per distruggere un parametro e farne riferimento anche per nome?distruggi un parametro e tieni il riferimento anche a esso

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

può essere eseguito in una riga singola nell'elenco dei parametri delle funzioni? Qualcosa di simile a quello di Haskell @ nella corrispondenza del modello.

+1

Purtroppo non c'è. – elclanrs

+0

Stai distruggendo 'myparam' e puoi ancora accedervi, giusto? Non capisco la domanda. – thefourtheye

+0

sì. Sto chiedendo della sintassi. So come ottenere ciò di cui ho bisogno usando vari modi. Mi chiedevo solo se questo può essere fatto in una sola riga. – akonsu

risposta

1

Per questo non è disponibile il supporto per la sintassi. Credo che si potrebbe incidere intorno a questo con qualcosa di simile:

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

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

o anche

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

ma entrambi possono essere considerati troppo hacky.

0

Sì, questo potrebbe essere semplificata per:

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

questo non è rilevante – akonsu

Problemi correlati