Meu trabalho diário é desenvolvedor de clientes usando o AngularJS. Estamos avaliando se queremos usar o TypeScript. Fiz algumas pesquisas sobre texto datilografado e quase todos os pacotes JavaScript necessários devem ter arquivos de tipo de definição. Achei que isso não é muito conveniente, especialmente se eu gostaria de tentar algo novo e eles não têm a definição para isso. É realmente frustrante. (Até a definição atual do jQuery me dá alguns problemas se eu quiser usar o datilógrafo 1.5 beta). Comecei a olhar para o ES6 e ele se parece com o TypeScript. Devo apenas usar o ES6? Além disso, ouvi dizer que o angular 2 terá suporte total ao TypeScript, será esse o motivo pelo qual devo permanecer com ele?
angularjs
typescript
ecmascript-6
cjskywalker
fonte
fonte
declare var MyNewLibraryName: any;
e usá-la como desejar, sem o reclamante do compilador.Respostas:
Uso o Typescript no meu projeto angular atual há cerca de um ano e meio e, embora haja alguns problemas com definições de vez em quando, o projeto DefinitelyTyped faz um trabalho incrível em acompanhar as versões mais recentes das bibliotecas mais populares.
Dito isto, há uma curva de aprendizado definida ao fazer a transição do JavaScript vanilla para o TS e você deve levar em consideração a capacidade de você e sua equipe para fazer essa transição. Além disso, se você estiver usando o angular 1.x, a maioria dos exemplos que você encontrará online exigirá que você os traduza de JS para TS e, em geral, não há muitos recursos para usar o TS e o angular 1.x juntos agora .
Se você planeja usar o angular 2, existem muitos exemplos usando o TS e acho que a equipe continuará fornecendo a maior parte da documentação no TS, mas você certamente não precisará usar o TS para usar o angular 2.
O ES6 possui alguns recursos interessantes e, pessoalmente, pretendo me familiarizar com ele, mas não considero uma linguagem pronta para produção neste momento. Principalmente devido à falta de suporte dos navegadores atuais. Obviamente, você pode escrever seu código no ES6 e usar um transpiler para acessá-lo no ES5, o que parece ser a coisa mais popular a se fazer no momento.
No geral, acho que a resposta se resumiria ao que você e sua equipe aprendem à vontade. Pessoalmente, acho que o TS e o ES6 terão bom suporte e futuros longos, mas prefiro o TS porque você tende a obter recursos de linguagem mais rapidamente e agora o suporte a ferramentas (na minha opinião) é um pouco melhor.
fonte
Árvore de decisão entre ES5, ES6 e TypeScript
Mais detalhes
ES5 é o JavaScript que você conhece e usa no navegador hoje. É o que é e não requer uma etapa de construção para transformá-lo em algo que será executado nos navegadores atuais.
ES6 (também chamado ES2015 ) é a próxima iteração do JavaScript, mas não é executado nos navegadores de hoje. Existem muitos transpilers que exportam o ES5 para execução em navegadores. Ainda é uma linguagem dinâmica (leia-se: não digitada).
TypeScript fornece um sistema de digitação opcional enquanto recursos de versões futuras do JavaScript (ES6 e ES7).
Nota: muitos dos transpilers disponíveis no mercado (isto é, babel, TypeScript) permitirão o uso de recursos de versões futuras do JavaScript hoje e a exportação de código que ainda será executado nos navegadores atuais.
fonte