2014-10-03 1 views
10

Vorrei iniziare a scrivere il codice utilizzando l'ECMAScript 6 (ES6) in arrivo, in modo da iniziare a familiarizzare con la nuova sintassi.Come posso scrivere e testare il codice ECMAScript 6 ora?

Esiste una sorta di risorsa Web o plug-in del browser che è possibile utilizzare per riprodurre (scrivere e testare il codice) su ciò che attualmente abbiamo riguardo a ES6?

Sono stato portato a credere che l'utilizzo di Google Chrome Canary potrebbe essere in grado di aiutare. Così ho scaricato Canarie, ho attivato un paio di caratteristiche in Canary:

Enable Experimental JavaScript (Mac, Windows, Linux, Chrome OS, Android)

Enable web pages to use experimental JavaScript features.
#enable-javascript-harmony Enable

E dopo aver testato l'ambito let blocco in un ciclo for

for (let i = 0; i < 10; i++) { 
    console.log(i); 
} 

ho ottenuto un errore di sintassi:

SyntaxError: Unexpected identifier

+1

C'è Traceur ma è bacato come l'inferno. – nullpotent

+0

Ho sentito che è necessario utilizzare la modalità rigorosa per ES6 per funzionare in Chrome Canary – Bergi

+1

@ricthedral Davvero? Sto usando Traceur in questo momento con molto successo. Non lo classificherei in questo modo. Lo standard ES6 non è ancora stato ratificato, quindi ci sono alcune cose che potrebbero non essere definitive, e Traceur non supporta TUTTE le cose ES6, ma per quello che supporta, ho avuto un'esperienza davvero positiva finora. In quali tipi di problemi hai incontrato? –

risposta

4

I seguenti lavori in Chrome 37 (Chrome corrente) con il flag Sperimentale JavaScript abilitato:

(function() { 
    "use strict"; 
    for (let i = 0; i < 10; i++) { 
     console.log(i); 
    } 
})() 

In modalità rigorosa esterna, è necessario vedere SyntaxError: Illegal let declaration outside extended mode o SyntaxError: Unexpected identifier se non si è in modalità rigorosa, o eventualmente SyntaxError: Unexpected strict mode reserved word se il flag Sperimentale JavaScript non è abilitato.

È anche possibile compilare il codice con Babel o con Traceur and the --block-binding flag enabled.

Vedere kangax's ES6 compatibility table per ulteriori informazioni.

+0

Utilizzo del canarino versione 40.0.2179.0 (64-bit) Stavo ricevendo "SyntaxError: Unexpected identificator" Tuttavia, dopo aver incluso "use strict", il ciclo è stato eseguito.Pensavo che "usare rigorosamente" fosse per ES5. Grazie – Aaron

+0

Mi sbagliavo sul messaggio di errore, probabilmente in realtà era vecchio [scartato] (http://stackoverflow.com/questions/17253509/what-is-extended-mode) e stai vedendo il nuovo uno. Ho aggiornato la risposta per riflettere questo. – lyschoening

1

Babel ha uno strumento per testare il codice transpile ed eseguire. Usalo per testare e in webapps sarà molto probabile che lo userai per trascrivere il codice di produzione !!

http://babeljs.io/repl

Babel tranpiler