• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

100
Vistas
¿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?

almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

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.

almost 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda