Article image
Valdir Alves
Valdir Alves31/08/2024 09:22
Compartilhe

Tipagem em JavaScript sem TypeScript

    Quando se fala em tipagem no JavaScript, o TypeScript geralmente é a primeira solução que vem à mente. TypeScript é uma poderosa ferramenta que traz tipagem estática para o JavaScript, permitindo detectar erros durante a fase de desenvolvimento e não apenas em tempo de execução. No entanto, muitas vezes, o uso de TypeScript pode parecer um exagero, especialmente em projetos menores ou quando a integração completa não é viável. 

    Felizmente, existe uma maneira de adicionar tipagem ao JavaScript sem precisar migrar para TypeScript: usando JSDoc e outras práticas para simular um ambiente tipado. 

    Então vamos explorar como você pode aplicar tipagem ao seu código JavaScript e melhorar a qualidade e a segurança do seu desenvolvimento.

     Por Que Tipar o Código JavaScript?

    Antes de mergulharmos nas soluções práticas, é importante entender o valor de adicionar tipos ao seu código JavaScript:

    ✔ Prevenção de Erros: A tipagem ajuda a capturar erros antes que eles causem problemas em tempo de execução.

    ✔ Autocomplete Melhorada: IDEs e editores de texto modernos podem fornecer autocomplete mais precisa quando o código é tipado.

    ✔ Documentação Implícita: O código tipado serve como documentação viva, facilitando o entendimento e a manutenção por outros desenvolvedores (ou por você mesmo no futuro).

    Refatoração mais Segura: Com tipos definidos, é mais seguro fazer alterações no código, pois é mais fácil identificar o impacto dessas mudanças.

     Introdução ao JSDoc

    JSDoc é uma ferramenta de anotação que permite adicionar comentários com informações de tipo diretamente no código JavaScript. Embora o JSDoc seja tradicionalmente utilizado para gerar documentação, ele também pode ser usado para simular a tipagem estática, oferecendo muitos dos benefícios que você teria com TypeScript.

     Anotações de Tipo com JSDoc

    JSDoc é uma ferramenta poderosa para adicionar anotações de tipo diretamente no código JavaScript.

    image

    Com o JSDoc, você obtém verificação de tipos em tempo de desenvolvimento sem precisar de TypeScript.

    Principais Anotações

    @param {tipo} nome:

    Define o tipo e o nome do parâmetro.

    @returns {tipo}:

    Especifica o tipo de retorno da função.

    @typedef {tipo}:

    Define um tipo personalizado.

    Tipagem de Objeto

    image

    Tipagem de Array

    image

    O autocomplete da sua IDE irá funcionar com base nesses tipos!

     

    Benefícios:

    ✔ Integração Simples: JSDoc é fácil de integrar ao código existente, sem a necessidade de uma grande refatoração.

    ✔ Melhoria na Qualidade do Código: A combinação de JSDoc com verificações em tempo de execução pode melhorar significativamente a qualidade e a confiabilidade do código.

    ✔ Ferramentas e IDEs: Muitos editores de texto e IDEs oferecem suporte nativo ao JSDoc, proporcionando uma boa experiência de desenvolvimento.

    Limitações:

    ✔ Verificação Limitada: Diferente do TypeScript, que verifica tipos durante a compilação, o JSDoc não impede erros de tipo em tempo de execução.

    ✔ Complexidade em Projetos Grandes: Em projetos grandes, a manutenção das anotações de JSDoc pode se tornar trabalhosa, e a falta de tipagem estática completa pode levar a problemas difíceis de detectar.

    ✔ Suporte Limitado a Tipos Avançados: O JSDoc é útil para a maioria dos casos básicos, mas pode ser insuficiente para cenários que requerem tipos avançados ou genéricos, onde TypeScript seria mais adequado.

     O que Aprendemos 

    Adicionar tipagem ao JavaScript, mesmo sem TypeScript, é uma prática que pode trazer muitos benefícios ao seu código. Usando JSDoc e verificações em tempo de execução, você pode alcançar um nível significativo de segurança e clareza, ajudando a prevenir erros e facilitando a manutenção. 

    Embora não substitua o TypeScript em todos os casos, o uso dessas técnicas pode ser uma excelente solução para projetos onde a migração completa para TypeScript não é viável.

    Se você ainda não experimentou, que tal começar a usar JSDoc no seu próximo projeto JavaScript? 

    Com o tempo, você verá como essas pequenas mudanças podem ter um impacto positivo na qualidade do seu código.

    Saiba Mais em JSDoc Documentation

    Compartilhe
    Comentários (1)
    Valdir Alves
    Valdir Alves - 31/08/2024 13:44

    Para mais conteúdos com este venha se conectar no LinkedIn.