"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Compreendendo &#qualquer&#, &#desconhecido&# e &#nunca&# no TypeScript

Compreendendo &#qualquer&#, &#desconhecido&# e &#nunca&# no TypeScript

Publicado em 2024-08-07
Navegar:129

Understanding

TypeScript oferece um sistema de tipos robusto, mas certos tipos podem ser confusos, ou seja, qualquer, desconhecido e nunca. Vamos decompô-los para melhor compreensão.

Qualquer tipo

Qualquer tipo é o mais simples dos três. Essencialmente, desativa a verificação de tipo, permitindo que uma variável retenha qualquer tipo de valor. Por exemplo:

let value: any;
value = 42;             // number
value = "Hello";        // string
value = [1, 2, 3];      // array
value = () => {};       // function
value = { key: "val" }; // object
value = new Date();     // date

Em todos esses casos, o TypeScript não gera nenhum erro, permitindo-nos realizar qualquer operação na variável sem restrições de tipo. Isso pode ser útil ao migrar um projeto JavaScript para TypeScript. No entanto, confiar em any anula os benefícios da segurança de tipo, tornando-a uma escolha ruim na maioria dos casos. Em vez disso, considere usar desconhecido.

O tipo desconhecido

O tipo desconhecido é mais seguro do que qualquer outro porque requer verificações de tipo antes de executar operações. Representa o conjunto de todos os valores possíveis, mas com segurança de tipo aplicada.

let value: unknown;
value = 42;
value = "Hello";

// To perform operations, we need to narrow down the type
if (typeof value === "number") {
  console.log(value   1); // TypeScript knows value is a number here
}

O uso de desconhecido é benéfico para funções que aceitam qualquer tipo de entrada, como funções de registro, pois impõe verificações de tipo antes de prosseguir com as operações.

O tipo nunca

O tipo never representa o conjunto vazio de valores, indicando que algo nunca deve ocorrer. Nenhum valor pode ser atribuído a um tipo never, tornando-o útil para verificações exaustivas e representando código inacessível.

type User = { type: "admin" } | { type: "standard" };

function handleUser(user: User) {
  switch (user.type) {
    case "admin":
      // handle admin
      break;
    case "standard":
      // handle standard
      break;
    default:
      const _exhaustiveCheck: never = user;
      // This ensures all cases are handled
  }
}

Se um novo tipo de usuário for adicionado, o TypeScript gerará um erro, garantindo que todos os casos sejam resolvidos, tornando nunca inestimável a manutenção de verificações exaustivas em seu código.

Conclusão

Compreender qualquer, desconhecido e nunca melhora a segurança de tipo do TypeScript. Use qualquer um com moderação, preferindo desconhecido para verificações de tipo mais seguras e aproveite nunca para verificações exaustivas e código inacessível. Esses tipos, quando usados ​​corretamente, tornam o TypeScript uma ferramenta poderosa para construir aplicativos confiáveis.
Boa codificação!

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/sharoztanveer/understanding-any-unknown-and-never-in-typescript-4acb?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3