Gostaria de saber porque é necessário utilizar a transcompilação do código typescript para js. Pois no site oficial não fala nada sobre isso.
Gostaria de saber porque é necessário utilizar a transcompilação do código typescript para js. Pois no site oficial não fala nada sobre isso.
Olá, Leonardo. Tudo bom?
É a linguagem padrão para o Angular 2. No próprio quistart do Angular 2 os exemplos estão com TypeScript: https://angular.io/docs/ts/latest/quickstart.html
No site do Angular eles assumem que o desenvolvedor já sabia o TypeScript. Hoje quem lida com o compilador é o Angular CLI, que não existia em sua versão final na data de lançamento do curso. Ou com o quickstart que foi citado pelo Marco.
Já no site oficial do site oficial do TYPESCRIPT, logo na página principal esta escrito assim:
"TypeScript is a typed superset of JavaScript that compiles do plain JavaScript"
Daí, você vai na documentação, "Tutorial" e logo de cara ele diz como configurar nas plataformas, inclusive script de gulp para você poder configurar o compilador.
Bom, agora você quer saber o motivo, vamos lá.
JavaScript suporta private
? JavaScript suporta decorators? JavaScript é estaticamente tipada? Não para todas as perguntas. Então, se você escrever um código em TypeScript ele não será reconhecido pelo navegador pois ele só entende JavaScript. É daí que mora o processo de compilação. O código do TypeScript é igual a um código Java ou C# ou C que precisa ser compilado. Mas compilado para o quê? Para JavaScript.
Esse processo de compilar uma linguagem em JavaScript não é novidade do TypeScript. CoffeeScript já fazia isso há anos.
TypeScript é o ECMASCRIPT 2015 com recursos exclusivos. Sendo assim, o desenvolvedor tem que conhecer muito de JavaScript se quiser aprender TypeScript. Se ele tem experiência em outras linguagens estaticamente tipadas como Java ou C# sua curvo de aprendizado será menor.
Muito obrigado pela resposta,
Mas ainda tenho algumas duvidas digamos que no curso, se eu não utilizar a transcompilação para o javascript usasse somente o Type Script funcionaria ?
Atualmente na versão do Angular 4 se eu baixar via angular cli não presiso gerar os arquivos .js? Somente os .ts?
Impossível usar TypeScript no navegador sem compila-lo. Angular CLI faz isso sem você se preocupar.