2016-04-06 20 views
19

La dichiarazione di esportazione di seguito dà un errore di sintassiÈ possibile esportare le funzioni freccia in ES6/7?

export default const hello =() => console.log("say hello") 

perché?

Sono in grado di esportare le funzioni denominate

export function hello() { 
    console.log("hello") 
} 

Qual è la ragione unica?

+2

Che cosa fa l'errore di dire in realtà? – Andy

+1

Funziona bene qui: http://astexplorer.net/#/0fv5UXttsP. –

+0

Leggi qui: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export – John

risposta

42

Is it possible to export Arrow functions in ES6/7?

Sì. export non si preoccupa del valore che si desidera esportare.

The export statement below gives a syntax error ... why?

Non si può avere un predefinita esportazione e dargli un nome ("default" è già il nome della esportazione).

O non

export default() => console.log("say hello"); 

o

const hello =() => console.log("say hello"); 
export default hello; 
+0

Come funziona il seguente esempio di esportazione hello =() => {console.log ("perché il downvote")} – jozzy

+1

'x = y' è un'espressione di assegnazione che si risolve nel valore di' y'. Non è una dichiarazione variabile. Puoi mettere 'x = y' ovunque tu possa mettere un'espressione. ** Nota: ** Questo getterà in modalità rigorosa se 'x' non è definito in anticipo. –

+0

Grazie Felix. Ottima spiegazione – jozzy

Problemi correlati