Aprenda TypeScript: da teoria à prática com exemplos de código detalhados
📚 Curso Completo de TypeScript 🚀
👋 Olá, bem-vindo ao curso completo de TypeScript! Neste curso, você aprenderá tudo o que precisa saber sobre a linguagem de programação TypeScript e como ela pode ser usada para escrever código JavaScript mais seguro, escalável e fácil de manter. Ao longo deste curso, você aprenderá os conceitos básicos da linguagem, como tipos, classes, interfaces e módulos, bem como conceitos avançados, como genéricos, tipos condicionais e decoradores.
📝 O que é TypeScript?
TypeScript é uma linguagem de programação de código aberto desenvolvida pela Microsoft que se baseia em JavaScript. É uma linguagem fortemente tipada que permite aos desenvolvedores escrever código JavaScript mais seguro e escalável, fornecendo recursos adicionais, como tipos estáticos, interfaces e classes. O TypeScript é compilado em JavaScript e é suportado em todos os navegadores modernos e em ambientes de servidor.
💻 Instalação e configuração do ambiente de desenvolvimento
Antes de começarmos a aprender TypeScript, precisamos configurar nosso ambiente de desenvolvimento. Para começar, você precisará instalar o Node.js em seu computador. Depois de instalar o Node.js, você pode instalar o TypeScript globalmente usando o seguinte comando no terminal:
npm install -g typescript
Para criar um novo projeto TypeScript, você pode criar um arquivo de configuração chamado `tsconfig.json` na raiz do seu projeto. O arquivo de configuração pode ser criado manualmente ou usando o comando `tsc --init` no terminal. O arquivo de configuração `tsconfig.json` define as configurações do compilador TypeScript e pode ser personalizado de acordo com as necessidades do seu projeto.
🎓 Tipos básicos do TypeScript
O TypeScript é uma linguagem de programação fortemente tipada, o que significa que todos os valores têm um tipo. Os tipos básicos incluem `number`, `string`, `boolean`, `null`, `undefined`, `symbol` e `void`. O tipo `any` é usado quando o tipo de um valor não é conhecido ou não importa.
let num: number = 10;
let str: string = "Olá, TypeScript!";
let bool: boolean = true;
let nulo: null = null;
let indefinido: undefined = undefined;
let simbolo: symbol = Symbol("simbolo");
let nada: void = undefined;
let qualquer: any = "Qualquer valor";
🔑 Tipos avançados do TypeScript
Além dos tipos básicos, o TypeScript também oferece tipos avançados, como `object`, `array`, `tuple`, `enum` e `union`.
let objeto: object = {};
let array: number[] = [1, 2, 3];
let tupla: [string, number] = ["typescript", 2023];
enum diasDaSemana { Domingo, Segunda, Terça, Quarta, Quinta, Sexta, Sabado };
let dia: diasDaSemana = diasDaSemana.Sabado;
let uniao: string | number = "typescript";
👨🏫 Classes e interfaces
O TypeScript oferece suporte completo para programação orientada a objetos e permite a definição de classes e interfaces. Classes são uma maneira de definir objetos que têm comportamento e propriedades. Interfaces, por outro lado, são uma maneira de definir contratos para objetos que descrevem a forma que um objeto deve ter, sem definir o comportamento.
interface Animal {
nome: string;
idade: number;
fazerBarulho: () => void;
}
class Cachorro implements Animal {
nome: string;
idade: number;
constructor(nome: string, idade: number) {
this.nome = nome;
this.idade = idade;
}
fazerBarulho() {
console.log("Au au!");
}
}
🔍 Módulos e importação/exportação
O TypeScript também oferece suporte à criação de módulos para organizar e reutilizar código em um projeto. Os módulos são arquivos que exportam valores, funções ou classes para serem usados em outros arquivos. Para importar um valor de outro módulo, você usa a palavra-chave `import`.
// no arquivo cachorro.ts
export class Cachorro {
// ...
}
// no arquivo index.ts
import { Cachorro } from "./cachorro";
const cachorro = new Cachorro("Rex", 3);
🌟 Genéricos
Genéricos são uma ferramenta poderosa no TypeScript que permitem que você crie funções, classes e interfaces que funcionam com uma ampla variedade de tipos. Os genéricos são indicados pelo uso de `
function primeiraPosicao<T>(array: T[]): T | undefined {
return array[0];
}
const numeros = [1, 2, 3];
const primeiroNumero = primeiraPosicao(numeros);
const strings = ["typescript", "é", "legal"];
const primeiraString = primeiraPosicao(strings);
🔍 Decoradores
Decoradores são uma forma de adicionar metadados a uma classe, método ou propriedade. Eles são semelhantes a anotações em outras linguagens de programação e são uma forma de modificar ou estender o comportamento de uma classe ou método.
function meuDecorador(classe: any) {
console.log(`Classe: ${classe.name}`);
}
@meuDecorador
class MinhaClasse {
// ...
}
Conclusão 📚
O TypeScript é uma linguagem de programação poderosa que oferece recursos adicionais ao JavaScript para tornar o código mais seguro, escalável e fácil de manter. Neste curso, você aprendeu os conceitos básicos da linguagem, como tipos, classes, interfaces e módulos, bem como conceitos avançados, como genéricos, tipos condicionais e decoradores. Com essas habilidades, você pode começar a escrever código TypeScript para seus próprios projetos e aproveitar todos os benefícios que a linguagem oferece! 🚀