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

178
Views
¿Cómo TypeScript implementa las enumeraciones?

Me preguntaba cómo mecanografiado compilaría una enumeración en un código javascript. Así que implementé el siguiente ejemplo:

 enum Contagens { UM, DOIS, TRES }

Y fue compilado en esto:

 "use strict"; var Contagens; (function (Contagens) { Contagens[Contagens["UM"] = 0] = "UM"; Contagens[Contagens["DOIS"] = 1] = "DOIS"; Contagens[Contagens["TRES"] = 2] = "TRES"; })(Contagens || (Contagens = {}));

Pero, no entiendo cómo funciona... ¿alguien podría explicarme este código?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

  1. La variable var Contagens; Esto crea la variable que contendrá una referencia a la enumeración.

  2. El argumento Contagens || (Contagens = {}) la enumeración se usa si ya existe, y se establecerá en un objeto vacío, si no existe. Esto permite que las enumeraciones se extiendan:

 enum Contagens { UM, DOIS, TRES } enum Contagens { CATRE = 4 }
  1. La función function (Contagens) { toma un argumento Contagens que es el valor del paso #2. En esta función, creará las entradas en el objeto enumerado. Tiene el mismo nombre que la variable exterior Contagens , por lo que sombrea esa variable. Pero es el mismo valor, así que eso no importa mucho.

  2. La asignación.

 Contagens[Contagens["UM"] = 0] = "UM";

El resultado de una asignación es el valor que se asigna.* Entonces Contagens["UM"] = 0 hace dos cosas. Establece la clave "UM" en el valor 0 y devuelve 0 .

Ese 0 devuelto se usa luego en una segunda asignación:

 Contagens[0] = "UM";

Ahora a la propiedad "UM" se le ha asignado 0 y la propiedad 0 se ha asignado a "UM" . La enumeración ahora se ve así:

 { UM: 0, "0": "UM" }

Esto le permite buscar un valor en una enumeración por su nombre u obtener su nombre de su valor.

 Contagens.UM // 0 Contagens[0] // "UM"

¡Qué es útil!


* El resultado de una asignación al declarar una variable no está undefined , pero asignar una propiedad de un objeto o asignar a una variable existente devolverá el valor asignado. JS es así de peculiar.

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!