O que é TypeScript e por que ele é usado na indústria?

JavaScript é considerado uma linguagem de tipagem dinâmica. Isso significa que variáveis podem receber quaisquer valores em tempo de execução - declarar uma variável como um número não impede que você atribua a ela um valor string depois e parâmetros de função podem receber qualquer valor. O desafio de uma linguagem de tipagem dinâmica é que a falta de segurança de tipo pode introduzir erros se você não tomar cuidado. TypeScript estende a linguagem JavaScript para incluir tipagem estática, o que ajuda a detectar esses erros antes mesmo de você implantar seu código. Mas como isso funciona? Considere esta função JavaScript:
const getRandomValue = (array) => {
  return array[Math.floor(Math.random() * array.length)];
}
Nossa função getRandomValue recebe um array e retorna um valor aleatório desse array. Mas como o JavaScript não valida tipos, não há nada que impeça você de chamar a função com um número:
console.log(getRandomValue(10));
A saída do console para o exemplo atual retornará undefined porque estava esperando um array em vez de um número. Mas com TypeScript você pode definir um tipo para o parâmetro do array:
const getRandomValue = (array: string[]) => {
  return array[Math.floor(Math.random() * array.length)];
}
Esta definição de tipo informa ao TypeScript que o argumento array deve ser um array de strings. Então, quando você chama getRandomValue e passa um número, você recebe um tipo diferente de erro chamado erro de compilação. A maioria dos ambientes de execução JavaScript, como um navegador ou Node.js, não pode executar TypeScript nativamente. Em vez disso, você primeiro precisa compilar, ou traduzir, o código TypeScript para JavaScript comum. Você pode fazer isso com o compilador embutido que vem com a linguagem TypeScript. Quando você executa o compilador, o TypeScript irá avaliar seu código e gerar um erro para quaisquer problemas onde os tipos não correspondem - como passar um número para uma função que espera um array. Você aprenderá mais sobre como esses tipos funcionam nas próximas aulas. Mas é essa segurança extra que torna o TypeScript uma linguagem atraente para muitos desenvolvedores e organizações.
Este módulo não possui perguntas. Marque como concluído.