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

300
Vistas
¿Cómo referir una interfaz que se usa antes de que se definiera?

Estoy definiendo interfaces de TypeScript y aterricé en una situación en la que necesito definir una interfaz circular.

P.ej. ISchool have IStudent e IStudent have ISchool , el problema es que la interface ISchool {} tiene IStudent que se usa antes de definirse. Además, no puedo definir interface IStudent antes porque IStudent has ISchool . ¿Cómo se puede manejar esta situación?

 interface ISchool { id: string; name: string; students: IStudent[]; } interface IStudent { id: string; name: string; school: ISchool; }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Mejor no tener dependencias circulares en general. Si crea una escuela con estudiantes, los estudiantes contienen una escuela que también contiene estudiantes que también contiene una escuela, etc. Es por eso que le recomiendo que reescriba su código para que su interfaz IStudent haga referencia a las escuelas con su identificación.

 export interface ISchool { id: string; name: string; students: IStudent[]; } export interface IStudent { id: string; name: string; school: string; }

Ahora puede pasar la identificación de la escuela a IStudent para que su interfaz IStudent aún esté vinculada con su interfaz ISchool.

O puede deshabilitar la regla eslint agregando esto a su .eslintrc.json. Porque después de todo, es solo un error de pelusa y javascript permite casi todo.

 "no-use-before-define": "off"
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