Categoria

TypeScript

Decorators: metaprogramação com TypeScript
TypeScript

Decorators: metaprogramação com TypeScript

Decorators são uma poderosa ferramenta de metaprogramação que permite anexar comportamentos e metadados a classes, métodos, propriedades e parâmetros em tempo de design. Em TypeScript, os decorators são uma proposta experimental (originalmente do ES7) que permite modificar ou estender o comportamento de elementos da linguagem sem alterar sua implementação original.

05/05/2026
DefinitelyTyped e @types
TypeScript 05/05/2026

DefinitelyTyped e @types

JavaScript puro não possui sistema de tipos estáticos. Quando você tenta usar uma biblioteca como lodash, express ou react em um projeto TypeScript, o compilador não sabe quais funções, parâmetros ou retornos existem. Sem definições de tipo, você perde autocompletar, verificação de erros em tempo de compilação e documentação embutida.

Discriminated unions: modelando estados de forma segura
TypeScript 05/05/2026

Discriminated unions: modelando estados de forma segura

Discriminated unions (uniões discriminadas) são um dos padrões mais poderosos do sistema de tipos do TypeScript. Elas permitem modelar estados mutuamente exclusivos de forma segura, eliminando estados impossíveis em tempo de compilação.

Documentação com TypeDoc
TypeScript 05/05/2026

Documentação com TypeDoc

TypeDoc é uma ferramenta de geração de documentação projetada especificamente para projetos TypeScript. Diferentemente do JSDoc, que foi criado para JavaScript e adaptado posteriormente, o TypeDoc entende nativamente o sistema de tipos do TypeScript, incluindo genéricos, tipos condicionais, utilitários de tipo e módulos ES.

Criando uma regra de ESLint personalizada com TypeScript
TypeScript 05/05/2026

Criando uma regra de ESLint personalizada com TypeScript

O ESLint é um dos linters mais populares do ecossistema JavaScript/TypeScript, e sua arquitetura baseada em plugins permite que desenvolvedores criem regras personalizadas para atender necessidades específicas de seus projetos. Cada regra no ESLint segue um ciclo de vida bem definido: create (criação da regra), meta (metadados da regra) e fix (autocorreção opcional).

Debugging TypeScript no VS Code
TypeScript 05/05/2026

Debugging TypeScript no VS Code

Depurar código TypeScript pode parecer complexo devido à camada de transpilação para JavaScript, mas o VS Code oferece ferramentas robustas que tornam esse processo transparente e eficiente. Neste artigo, você aprenderá a configurar e utilizar o depurador integrado para inspecionar, rastrear e corrigir erros em suas aplicações TypeScript diretamente no editor.

Declaração de tipos para bibliotecas JS: arquivos .d.ts
TypeScript 05/05/2026

Declaração de tipos para bibliotecas JS: arquivos .d.ts

Quando trabalhamos com TypeScript, um dos maiores desafios é integrar bibliotecas JavaScript que não foram escritas originalmente em TypeScript. É aqui que entram os arquivos de declaração de tipos, conhecidos como .d.ts. Esses arquivos funcionam como uma "camada de descrição" que informa ao TypeScript quais são as formas, tipos e assinaturas das funções, variáveis e classes expostas por uma biblioteca JS pura.

Conditional types: tipos que dependem de outros tipos
TypeScript 05/05/2026

Conditional types: tipos que dependem de outros tipos

Conditional types são uma feature poderosa do TypeScript que permite criar tipos que dependem de uma condição lógica avaliada em tempo de compilação. Eles funcionam como um operador ternário para tipos: se uma condição for verdadeira, o tipo resultante é um; caso contrário, é outro.

Configurando ESLint com typescript-eslint
TypeScript 05/05/2026

Configurando ESLint com typescript-eslint

O TypeScript Compiler (tsc) é excelente para detectar erros de tipo, mas possui limitações significativas na identificação de más práticas de código, padrões problemáticos e violações de estilo. Enquanto tsc foca em segurança de tipos, o ESLint complementa essa análise com linting de código, detectando problemas como variáveis não utilizadas, expressões booleanas complexas e práticas inconsistentes.