typescript - Miembros de la interfaz para validar variables de tipo cadena
Digamos que tengo una interfaz como esta:
interface field {
code: string
name: string
// ...
}
Luego quiero crear una variable con un valor que solo acepte miembros de esa interfaz:
let key: "code" | "name" // ...
Será una línea de código muy amplia si hay muchos miembros de la interfaz, ¿hay una solución para esto?
¿Existe una solución rápida para validar una variable basándose en los miembros de la interfaz usando TypeScript como se muestra arriba?
Respuesta #1
Ese es el caso de uso del operador de tipo keyof:
El operador
keyoftoma un tipo de objeto y produce una unión de literales de cadena o numéricas de sus claves.
interface field {
code: string
name: string
// ...
}
let key: keyof field;
key = "code"; // Okay
key = "other"; // Type '"other"' is not assignable to type 'keyof field'.
Enlace del parque
