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

113
Views
¿Puede un objeto que contiene una matriz ser un tipo en la propiedad de una interfaz?

Estoy analizando un código Angular y me encontré con un type de property de una Interface llamada 'Origin' que no entiendo?, Aquí está:

 export interface Origin { areaNum?: number; open?: { [key: string]: any }; }

Mi primera pregunta es ¿qué tipo de objeto es ese? Pensé que los objects tenían uno o varios pares key:value , donde está la key ... bueno, la clave :), y el value puede contener cualquier valor. Este type extraño parece ser un object , pero no veo una key:value , solo contiene una array ¿?. Me parecía que era un array por los corchetes, pero ¿un array puede ser la clave de un object ? ¿cómo?. Estoy tratando de averiguar cómo se vería la propiedad open al crear un objeto que usa esta Interface . No entiendo qué es esto { [key: string]: any }; . ¿Me ayudarías a entender?, como voy aprendiendo. Si es posible, ¿puede mostrarme un object de ejemplo ficticio que use esta property open con un value válido del type extraño anterior? ¡Gracias!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Mi primera pregunta es ¿qué tipo de objeto es ese?

Es un objeto que tiene dos propiedades opcionales:

  • areaNum , un número
  • open , un objeto que usa una firma de índice que permite índices de cadena: el objeto puede tener propiedades con cualquier nombre de cadena, y el valor de esas propiedades es any

Aquí hay un ejemplo de código, ver comentarios:

 export interface Origin { areaNum?: number; open?: { [key: string]: any }; } let a: Origin = { areaNum: 42, open: {}, // <== Valid, an index signature allows there to be no properties }; if (a.open) { // You can do this, because `a.open` has an index signature making // any string is a valid property for it: a.open["any string you want"] = 42; // You *can't* do this, because `a` doesn't have an index signature, // it only has `areaNum` and `open` properties: a["any string you want"] = 42; }

Enlace del patio de recreo

over 4 years ago · Santiago Trujillo 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!