Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

153
Vistas
¿Existe una biblioteca o una forma de alimentar un objeto y obtener un tipo de mecanografiado o una implementación de interfaz para ese objeto?

así que he estado trabajando con React y TypeScript este año y me di cuenta de lo difícil que puede ser en algún momento poder escribir algunos objetos complejos. por lo tanto, me preguntaba si podría haber una forma o una función auxiliar a la que pudiéramos llamar con un objeto y poder devolver una interfaz mecanografiada o un tipo de respuesta que luego podríamos usar para escribirlo en nuestro código y usarlo como un type para cada vez que estemos usando el objeto.

Ejemplo: digamos que tenemos un objeto como tal:

 const complexObject = { "hsl": { "h": 118.48101265822783, "s": 1, "l": 0.5, "a": 1 }, "hex": "#06ff00", "rgb": { "r": 6, "g": 255, "b": 0, "a": 1 }, "hsv": { "h": 118.48101265822783, "s": 1, "v": 1, "a": 1 }, "oldHue": 118.48101265822784 }

como puede ver, escribir este objeto puede ser algo problemático, especialmente para los desarrolladores sin experiencia como yo. ahora, si pudiera haber una biblioteca a la que pudiéramos llamar en este contexto getType , entonces podríamos hacer algo como esto:

 getType(complexObject); // return type complexObject = { hex: string; hsl: { h: number; s: number; l: number; a: number }; hsv: { h: number; s: number; v: number; a: number }; rgb: { r: number; g: number; b: number; a: number }; };
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si solo desea usar un tipo en un archivo de la forma en que escribió getType arriba, use typeof como en la respuesta de Ozan . Aunque typeof funciona en tiempo de ejecución para devolver una cadena en JavaScript estándar, TypeScript le da un significado adicional a typeof : en una expresión de tipo le permite reutilizar el tipo de un identificador existente.

 // Runs in the emitted JavaScript. const someValue = typeof complexObject; // "object" // Type only: not emitted to JavaScript. type SomeType = typeof complexObject; // { hsl: { ... }, ... } // Type only as well, because it's after the : so TS reads it as a type. const typedValue: typeof complexObject = getComplexObject(); // field name: type expression = initial value

Recuerde, los tipos no existen en tiempo de ejecución, por lo que nunca existe la posibilidad de que pueda devolver un tipo como un valor de tiempo de ejecución o una expresión de retorno de función como getType . Una función como getType podría devolver un valor y ese valor podría tener un tipo útil, pero no puede devolver el tipo en sí mismo con una función.

Nota al margen: si está tratando de escribir un archivo de declaración basado en el código JavaScript existente, o si desea llegar a la definición de la interfaz para poder copiarla y pegarla en su propio código, una herramienta estándar para eso es dts-gen .

about 4 years ago · Juan Pablo Isaza Denunciar

0

No necesita una función como getType para recuperar el tipo como una variable y reutilizarlo en su código.

Todo lo que necesita hacer es usar el operador typeof y asignar ese valor a una variable de type .

 type ComplexObjectType = typeof complexObject;

Ahora, puede usar ComplexObjectType como un tipo para otras variables en su proyecto.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda