"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 > Como recuperar as chaves de uma interface TypeScript como uma matriz de strings?

Como recuperar as chaves de uma interface TypeScript como uma matriz de strings?

Publicado em 2024-11-16
Navegar:203

How to Retrieve the Keys of a TypeScript Interface as an Array of Strings?

Acessando chaves de uma interface Typescript como uma matriz de strings

Introdução

Trabalhar com dados tabulares em Typescript requer o uso de interfaces para definir colunas estruturas. Para manipular essas estruturas com eficiência, muitas vezes é necessário recuperar os nomes das propriedades dessas interfaces como uma matriz de strings.

Solução

Usando transformadores personalizados

Desde a versão 2.4 do Typescript , os transformadores personalizados fornecem um mecanismo para extrair chaves das interfaces. Considere a seguinte interface:

interface IMyTable {
  id: number;
  title: string;
  createdAt: Date;
  isDeleted: boolean;
}

Para obter os nomes das propriedades como uma matriz:

import { keys } from 'ts-transformer-keys';

const IMyTable = keys();

console.log(IMyTable); // ["id", "title", "createdAt", "isDeleted"]

Limitações dos transformadores personalizados

Embora os transformadores personalizados ofereçam uma solução conveniente, eles exigem o uso do Typescript API de transformação em vez do comando ts. Essa limitação pode prejudicar sua usabilidade.

Alternativas

Em cenários onde transformadores personalizados não são viáveis, as opções alternativas incluem:

  • Usar técnicas de reflexão (não recomendado para desempenho motivos)
  • Especificar explicitamente a matriz de nomes de propriedades (propenso a erro humano e sobrecarga de manutenção)
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