DEV Community

Cristian Fernando
Cristian Fernando

Posted on

4 2

Fundamentos de TypeScript 🦆| #6: Enum

Los enum son un tipo de dato en TypeScript. Esta característica no es una extensión de JavaScript, sino una peculiaridad propia de TypeScript.

En pocas palabras un enum se encarga de juntar en un solo tipo de dato un conjunto de constantes.

Los enum también aparecen en otros lenguajes de programación como por ejemplo C.

Sintaxis

enum nombreEnum {
  // valores
}
Enter fullscreen mode Exit fullscreen mode

La sintaxis es un poco extraña puesto que no usamos en ningún momento un = o unos : para declarar un enum.

Ahora bien, los valores de un enum pueden ser numéricos o literales, como veremos a continuación:

enum numerico

enum Dias {
  Lunes, //0
  Martes, //1
  Miercoles, //2
  Jueves, //3
  Viernes, //4
  Sabado, //5
  Domingo, //6
}

console.log(Dias.Martes) // 1
Enter fullscreen mode Exit fullscreen mode

Los enum numéricos se declaran separando los valores con comas y a cada uno se le asigna un índice de posición único, muy similar a un arreglo.

Este índice empieza siempre desde 0 y se incrementa automáticamente para el resto de los valores. Es posible cambiar este comportamiento de la siguiente manera:

enum Dias {
  Lunes=10, //10
  Martes, //11
  Miercoles, //12
  Jueves, //13
  Viernes, //14
  Sabado, //15
  Domingo, //16
}

console.log(Dias.Martes) // 11
Enter fullscreen mode Exit fullscreen mode

Basta con modificar el valor de inicio del primer valor que inferir cuales seran los valores posteriores.

enum de cadena de texto

También podemos usar un enum como cadena de texto:

enum Dias {
  Lunes="Lunes",
  Martes="Martes",
  Miercoles="Miercoles",
  Jueves="Jueves",
  Viernes="Viernes",
  Sabado="Sabado",
  Domingo="Domingo",
}

console.log(Dias.Martes) // Martes
Enter fullscreen mode Exit fullscreen mode

enum como tipo de dato

Recuerda que como string, number, boolean, etc., enum es un tipo de dato y puede ser usado como tal:

enum Dias {
  Lunes="Lunes",
  Martes="Martes",
  Miercoles="Miercoles",
  Jueves="Jueves",
  Viernes="Viernes",
  Sabado="Sabado",
  Domingo="Domingo",
}

function imprimirSaludo(mensaje:string, dia:Dias):void {
  console.log(`${mensaje}, hoy es ${dia}. Feliz 2022!`);
}

console.log(imprimirSaludo("Hola mundo",Dias.Jueves))
//Hola mundo, hoy es Jueves. Feliz 2022!
Enter fullscreen mode Exit fullscreen mode

Podemos usar un enum como parámetro de una función sin ningún problema.

Veremos funciones posteriormente.

Conclusiones

  • Los enum son un tipo de dato que te permite crear un conjunto de constantes de una manera más ordenada.
  • No son una característica que se extiende de JavaScript, o mejor dicho, no existen enum's en JavaScript de manera nativa.
  • Puedes usar un enum con valores numéricos auto incrementales o como cadenas de texto.

Referencias

Image of Stellar post

How a Hackathon Win Led to My Startup Getting Funded

In this episode, you'll see:

  • The hackathon wins that sparked the journey.
  • The moment José and Joseph decided to go all-in.
  • Building a working prototype on Stellar.
  • Using the PassKeys feature of Soroban.
  • Getting funded via the Stellar Community Fund.

Watch the video

Top comments (0)

Jetbrains image

Build Secure, Ship Fast

Discover best practices to secure CI/CD without slowing down your pipeline.

Read more

👋 Kindness is contagious

Explore a trove of insights in this engaging article, celebrated within our welcoming DEV Community. Developers from every background are invited to join and enhance our shared wisdom.

A genuine "thank you" can truly uplift someone’s day. Feel free to express your gratitude in the comments below!

On DEV, our collective exchange of knowledge lightens the road ahead and strengthens our community bonds. Found something valuable here? A small thank you to the author can make a big difference.

Okay