TypeScript é JavaScript com tipos. Os arquivos terminam em .ts.
Testar sem instalar nada
Abra o TypeScript Playground, cole o código e
clique em Run. A saída de console.log aparece na aba Logs. O playground
também aponta os erros de tipo enquanto você digita.
Instalar
O TypeScript roda no Node.js 22.18 ou mais recente, que executa os arquivos
.ts sem instalar o compilador TypeScript. Instale o Node seguindo o
guia de JavaScript: os passos são os
mesmos (instalador, WinGet, nvm ou NodeSource). Depois, confira:
node --version
Para ver os erros de tipo sem instalar nada, use o TypeScript Playground.
Executar um arquivo
Exemplo básico
Salve o código como basic.ts. As anotações string e number indicam os tipos
das variáveis e dos parâmetros. A função retorna uma mensagem do tipo string.
Este exemplo também pode ser colado no TypeScript Playground.
const userName: string = 'Ana';
const age: number = 25;
function greet(personName: string, personAge: number): string {
return `Olá, ${personName}! Você tem ${personAge} anos.`;
}
console.log(greet(userName, age));
Na pasta do arquivo, execute:
node basic.ts
Saída esperada:
Olá, Ana! Você tem 25 anos.
Responder um quiz de programação
Salve o programa como main.ts. O programa faz três perguntas e conta os acertos. O tipo Question
define os dados de cada pergunta; trim e toLowerCase normalizam a resposta.
Uma resposta vazia conta como erro. Requer Node 22.18 ou mais recente.
import { createInterface } from 'node:readline/promises';
import { stdin, stdout } from 'node:process';
type Question = { prompt: string; answer: string };
const questions: Question[] = [
{ prompt: 'Quanto é 2 + 3?', answer: '5' },
{ prompt: 'Qual extensão identifica um arquivo TypeScript?', answer: '.ts' },
{ prompt: 'Qual palavra declara uma constante em JavaScript?', answer: 'const' },
];
const terminal = createInterface({ input: stdin, output: stdout });
let score = 0;
try {
for (const question of questions) {
console.log(question.prompt);
const answer: string = await terminal.question('');
if (answer.trim().toLowerCase() === question.answer) {
score++;
console.log('Correto!');
} else {
console.log(`Resposta esperada: ${question.answer}`);
}
}
console.log(`Pontuação: ${score}/${questions.length}`);
} catch {
console.error('Não foi possível ler a resposta.');
process.exitCode = 1;
} finally {
terminal.close();
}
Na pasta do arquivo, execute:
node main.ts
Uma interação no terminal será:
Quanto é 2 + 3?
5
Correto!
Qual extensão identifica um arquivo TypeScript?
.ts
Correto!
Qual palavra declara uma constante em JavaScript?
const
Correto!
Pontuação: 3/3
As linhas com os valores das respostas são digitadas por você. Pressione Enter após cada resposta. As demais linhas são a saída do programa.
O Node executa os tipos apagáveis, mas não faz checagem de tipos. O exemplo usa módulos do Node e deve ser executado no terminal, não no TypeScript Playground.
Quando o exemplo é só um trecho
Salve as linhas num arquivo .ts e rode com node. Se o trecho usa um tipo ou
função definido em outra parte da lição, copie essa parte para o mesmo arquivo.
Erros comuns
ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX:enum,namespacee parâmetros compublic/privateno construtor não rodam comnode main.ts, porque o Node só aceita a sintaxe que dá para apagar. Use o playground ou compile comtsc(sem--noEmit) e rode o.jsgerado.- Erro de tipo não impede o
nodede rodar: confira comnpx --package typescript tsc --noEmit main.ts(baixa o compilador na hora). - Versões do Node anteriores à 22.18 não rodam
.tsdireto: atualize para a LTS.