"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 > Desbloqueando o poder do "as const" do TypeScript: o recurso subestimado que você precisa conhecer

Desbloqueando o poder do "as const" do TypeScript: o recurso subestimado que você precisa conhecer

Publicado em 2024-11-08
Navegar:747

Unlocking the Power of TypeScript

Ao discutir os recursos mais subestimados no TypeScript, um que muitas vezes passa despercebido é a afirmação as const. Esse recurso é extremamente útil em vários cenários, proporcionando benefícios significativos para os desenvolvedores.

Noções básicas sobre "como const"

Para começar, vamos definir o que const faz. Imagine que você tem um objeto como este:

const routes = {
  home: "/home",
  profile: "/profile",
  notifications: "/notification",
};

Se você passar o mouse sobre as propriedades das rotas, notará que elas são digitadas como string. Por exemplo, rotas.home é digitado como string, não como "/home". Isso ocorre porque o TypeScript assume que essas propriedades podem mudar, então ele as infere como strings mutáveis.

Agora, considere uma função que deve aceitar apenas essas rotas específicas. Você pode definir os tipos assim:

function changeRoute(route: "home" | "profile" | "notifications") {
  // navigate to route
}

Essa abordagem funciona, mas é repetitiva e propensa a erros. Se você adicionar uma nova rota, deverá atualizar a definição de tipo da função, o que não é o ideal.

Tornando objetos imutáveis

É aqui que o const entra em ação. Usando como const, você pode tornar o objeto imutável, e o TypeScript inferirá os tipos literais em vez de apenas string.

const routes = {
  home: "/home",
  profile: "/profile",
  notifications: "/notification",
} as const;

Agora, Routes.home é digitado como "/home", Routes.notifications como "/notifications" e assim por diante. Essa imutabilidade garante que essas propriedades não possam ser alteradas e o TypeScript reconheça seus valores específicos.

Caso de uso prático

Vamos integrar como const em uma função:

function changeRoute(route: typeof routes[keyof typeof routes]) {
  // navigate to route
}

Aqui, typeof Routes obtém o tipo do objeto Routes e keyof Typeof Routes extrai as chaves, resultando nos tipos exatos dos valores da rota. Isso torna a função adaptável a quaisquer alterações no objeto de rotas sem a necessidade de atualizações repetitivas.

Extraindo Tipos

Outro aspecto poderoso de as const é como ele permite a extração de tipos. Por exemplo:

type Routes = (typeof routes)[keyof typeof routes];

Este tipo de definição extrai dinamicamente os valores do objeto rotas, tornando a função mais sustentável e reduzindo a redundância.

Conclusão

A afirmação as const no TypeScript é um recurso versátil e poderoso que pode melhorar significativamente a segurança de tipo e reduzir a redundância em seu código. Ao tornar os objetos imutáveis ​​e permitir a inferência precisa de tipos, simplifica a manutenção e a extensão de bases de código. Experimente e você verá como ele pode aprimorar seus projetos TypeScript!
Boa codificação!

[Divulgação: Este artigo é um esforço colaborativo, combinando minhas próprias ideias com a assistência do ChatGPT para melhorar a articulação.]

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/sharoztanveer/unlocking-the-power-of-typescripts-as-const-the-underrated-feature-you-need-to-know-25l7?1 Se houver qualquer violação, entre em contato com [email protected] para excluir
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