"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo recuperar las claves de una interfaz TypeScript como una matriz de cadenas?

¿Cómo recuperar las claves de una interfaz TypeScript como una matriz de cadenas?

Publicado el 2024-11-16
Navegar:233

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

Acceso a las claves de una interfaz Typecript como una matriz de cadenas

Introducción

Trabajar con datos tabulares en Typecript requiere el uso de interfaces para definir la columna estructuras. Para manipular eficientemente estas estructuras, a menudo es necesario recuperar los nombres de propiedades de estas interfaces como una matriz de cadenas.

Solución

Uso de transformadores personalizados

Desde la versión 2.4 de Typecript , los transformadores personalizados proporcionan un mecanismo para extraer claves de las interfaces. Considere la siguiente interfaz:

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

Para obtener los nombres de las propiedades como una matriz:

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

const IMyTable = keys();

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

Limitaciones de los transformadores personalizados

Si bien los transformadores personalizados ofrecen una solución conveniente, requieren el uso de Typecript API de transformación en lugar del comando ts. Esta limitación puede obstaculizar su usabilidad.

Alternativas

En escenarios donde los transformadores personalizados no son viables, las opciones alternativas incluyen:

  • Uso de técnicas de reflexión (no recomendadas para el rendimiento). motivos)
  • Especificar explícitamente la matriz de nombres de propiedades (propenso a errores humanos y gastos de mantenimiento)
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3