Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

147
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!