2016-01-24 10 views
9

Próbuję użyć symboli w moim kodzie maszynopisu (używając es-5 jako celu). Jednak poniższy kod daje błąd TS2304: Nie można znaleźć nazwa „Symbol”Używanie symboli es-6 w maszynopisie

var sym = Symbol(); 

Według harmonogramu, symbole są obsługiwane od wersji 1.5. Ale myślę, że jedną rzeczą jest wspieranie symboli, a inną jest transponowanie symboli do es-5.

Jaki jest najlepszy sposób, aby symbole działały w moim transpilowanym kodzie es-5?

+0

dojo zajmuje się tym, obecnie czyta, wypróbuje - zobacz https://www.sitepen.com/blog/2016/04/13/es6-symbols-drumroll-please/ – sebilasse

Odpowiedz

8

Domyślnie TypeScript nie oferuje poly-fills dla przyszłych zmian w standardowej bibliotece podczas kompilacji do starszych wersji, oferuje tylko zmiany syntaktyczne.

To oznacza Symbol nie jest dostępny podczas kompilacji do ES5, ale jest dostępny podczas kompilacji do ES6.

Jeśli chcesz użyć standardowych zmian w bibliotece ES6 podczas kompilacji do starszych wersji ES, możesz użyć core.js, aby uzyskać wypełnienia.