ANÚNCIO

~/questoes/programacao

O que significa dizer que TypeScript é um superset de JavaScript?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência O que é TypeScript? Explicação simples e prática para iniciantes
Para fixar

O que significa TypeScript ser um superset de JavaScript?

Conceito central

Um superset significa que TypeScript inclui tudo o que JavaScript oferece e adiciona novos recursos por cima. Todo código JavaScript válido funciona perfeitamente em TypeScript, mas o inverso não é verdadeiro: nem todo código TypeScript é JavaScript válido.

Por que essa resposta faz sentido

A resposta correta destaca que TypeScript é construído sobre JavaScript, não para substituí-lo. Qualquer arquivo .js existente pode ser renomeado para .ts e funcionará sem problemas, porque TypeScript é compatível com toda a sintaxe e funcionalidade do JavaScript.

Armadilhas comuns

  • Confundir 'superset' com 'substituto': pensar que TypeScript foi criado para acabar com JavaScript, quando na verdade foi criado para melhorar a experiência ao trabalhar com JavaScript em projetos grandes.
  • Acreditar que TypeScript torna o código mais rápido: esquecer que TypeScript é transpilado para JavaScript comum antes de executar, então não há ganho de performance automaticamente.
  • Pensar que é preciso aprender TypeScript antes de JavaScript: o oposto é verdadeiro. TypeScript supõe que você já conhece JavaScript bem, porque tudo o que você aprende em JS vale em TypeScript.

Entenda as alternativas

A

Esta é a definição precisa de um superset. TypeScript estende JavaScript adicionando tipagem estática e outros recursos, mas mantém 100% de compatibilidade com código JavaScript válido.

B

Errado porque TypeScript não substitui JavaScript, apenas adiciona camadas de segurança. Quando você compila TypeScript, ele vira JavaScript puro que roda em navegadores e servidores normalmente.

C

Errado porque TypeScript é compilado para JavaScript antes de executar. A velocidade depende do código final gerado, não de TypeScript ser 'mais rápido'. Na verdade, há um passo de compilação a mais.

D

Completamente falso. Você precisa conhecer JavaScript muito bem para usar TypeScript efetivamente, porque TypeScript é JavaScript com tipos adicionados. O fundamento continua sendo JavaScript.

Dica prática: Teste na prática: pegue um arquivo JavaScript simples com uma função básica, renomeie a extensão de .js para .ts e abra em um editor com suporte a TypeScript. O código continuará funcionando. Agora tente adicionar uma anotação de tipo como 'function soma(a: number, b: number)' e veja como o editor te ajuda a detectar erros.

Revise pensando: Se todo código JavaScript válido é código TypeScript válido, por que você não consegue fazer o inverso? O que TypeScript tem que JavaScript não tem?