Pesquisa de site

typescript - O que é "DefinitelyTyped"?


Eu vejo que "DefinitelyTyped" é algo relacionado ao desenvolvimento em TypeScript/JavaScript, mas eu não consegui entender seu uso ou algum exemplo de código para compreendê-lo.

Eu olhei para http://definitelytyped.org/ e http://bartvds.github.io/projects/dt.html, mas não consegui entender melhor.

Qualquer dica, artigo ou exemplo de código será muito apreciado.

Resposta #1

O TypeScript permite que você tenha Arquivos de Declaração, que são arquivos que permitem descrever a forma do código que foi escrito em (por exemplo) JavaScript puro. Assim, ao referenciar um desses arquivos, você diz ao TypeScript exatamente como esse código JavaScript ou biblioteca que você está usando deve ser considerado como "tipado". Claro, isso significa que o arquivo de declaração precisa ser cuidadosamente escrito e estar em sincronia com a biblioteca JavaScript que você está usando.

DefinitelyTyped é o repositório mais popular de Arquivos de Declaração para muitas e muitas bibliotecas JavaScript, a maioria das quais não fornece seus próprios arquivos de declaração (já que não são desenvolvidas com TypeScript e não têm compromisso de funcionar com ele). Portanto, ele contém arquivos de Declaração mantidos pela comunidade.

Ao usar o DefinitelyTyped e os arquivos de declaração que ele contém, você pode usar a maioria das bibliotecas populares de JavaScript como se fossem bibliotecas TypeScript, no sentido de que você terá validação de tipos pelo compilador (conforme indicado pelo arquivo de declaração). Além disso, sendo tão popular, o DefinitelyTyped será mantido pela comunidade para conter arquivos de declaração válidos (embora, sendo o desenvolvimento web algo que se movimenta muito rápido, você possa acabar encontrando alguns problemas, especialmente em bibliotecas obscuras).

Resposta #2

A descrição acima é bastante clara, no entanto, se você é como eu, talvez o código abaixo possa ajudá-lo a ter uma visão geral.

Por exemplo, você tem o pacote lodash em seu projeto, você importa e usa um método dele.

import random from 'lodash/random';

const result = random(????);

Você pode parar e se perguntar quantos parâmetros esse método pode exigir? E que tipo de dado para cada parâmetro? Você precisa procurar na página inicial do lodash, encontrar a documentação da API do random para saber como usá-lo. Depois de realizar várias tarefas, você pode acabar fornecendo a ordem incorreta dos parâmetros, mas nada será mostrado até você executar seu aplicativo e receber o erro.

É aqui que DefinitelyType mostra seu poder. Após instalar o DefinitelyType do lodash

yarn add @types/lodash
  • quando você começar a digitar o método random, uma dica aparecerá e mostrará como usar os parâmetros.
  • quando você fornece um tipo de dado errado dos parâmetros, ele mostrará o erro para que você saiba e corrija imediatamente.

Vale notar que os dois pontos acima acontecerão automaticamente após você instalar o pacote.

Faz sentido? Se não, não se preocupe, desligue a música e assista a este vídeo, tenho certeza de que você vai entender.

Artigos relacionados