Pregunta de entrevista-TS(7): ¿Cómo definir enumeraciones (enumeraciones) y usarlas?
En TypeScript, las enumeraciones (Enums) son un tipo de datos que se utiliza para definir una colección de constantes con nombre. Las enumeraciones nos permiten dar nombres significativos a un grupo de constantes relacionadas y usarlas de una manera más intuitiva en nuestro código. Mediante el uso de enumeraciones, podemos simplificar nuestro código, mejorar la legibilidad y reducir los errores.
1. Definir enumeración
En TypeScript, podemos usar enum
palabras clave para definir enumeraciones. Aquí hay un ejemplo de una enumeración simple que representa cada día de la semana:
enum WeekDay {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
}
En el ejemplo anterior, definimos una WeekDay
enumeración denominada , que contiene siete miembros constantes : Sunday
, Monday
, Tuesday
, Wednesday
, Thursday
y Friday
. Saturday
De forma predeterminada, los miembros de la enumeración se numerarán según el índice a partir de 0, y el valor del miembro también se puede especificar manualmente.
enum WeekDay {
Sunday = 1,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
}
En el ejemplo anterior, especificamos manualmente Sunday
un valor de 1 y los miembros subsiguientes se incrementarán secuencialmente.
Dos, usa la enumeración
Al usar una enumeración, podemos acceder a las constantes de la enumeración por el nombre del miembro. Aquí hay algunos ejemplos usando enumeraciones:
let today: WeekDay = WeekDay.Wednesday;
console.log(today); // 输出:3
let dayName: string = WeekDay[1];
console.log(dayName); // 输出:Sunday
En el ejemplo anterior, estamos WeekDay.Wednesday
asignando a una variable today
y emitiendo su valor. También podemos WeekDay[1]
obtener los nombres de los miembros de la enumeración mediante , y el resultado es Sunday
.
3. Valores de los miembros de la enumeración
En una enumeración, cada miembro tiene un valor numérico asociado, que comienza en 0 y se incrementa de forma predeterminada. También podemos especificar manualmente el valor del miembro.
En ausencia de especificar manualmente el valor del miembro, el valor del miembro de la enumeración se incrementará desde 0:
enum Numbers {
One,
Two,
Three
}
console.log(Numbers.One); // 输出:0
console.log(Numbers.Two); // 输出:1
console.log(Numbers.Three); // 输出:2
Cuando especificamos manualmente el valor de algunos miembros, los valores de los miembros posteriores se incrementarán secuencialmente:
enum Numbers {
One = 1,
Two,
Three
}
console.log(Numbers.One); // 输出:1
console.log(Numbers.Two); // 输出:2
console.log(Numbers.Three); // 输出:3
También podemos especificar valores manualmente para todos los miembros:
enum Numbers {
One = 1,
Two = 3,
Three = 5
}
console.log(Numbers.One); // 输出:1
console.log(Numbers.Two); // 输出:3
console.log(Numbers.Three); // 输出:5
Cuatro, enumeración de cadenas
Además de las enumeraciones numéricas, TypeScript también admite enumeraciones de cadenas. En una enumeración de cadena, a cada miembro se le debe asignar manualmente un valor de cadena.
Aquí hay un ejemplo de una enumeración simple de cadenas que representan diferentes tipos de colores:
enum Color {
Red = "RED",
Green = "GREEN",
Blue = "BLUE"
}
En el ejemplo anterior, definimos una Color
enumeración de cadena denominada , que contiene tres miembros: Red
, Green
y Blue
, y asignamos manualmente un valor de cadena a cada miembro.
Cinco, enumeración constante
En TypeScript, también podemos definir enumeraciones constantes. Una enumeración const es un tipo de enumeración que se elimina en tiempo de compilación. Cuando se usa una enumeración const, su valor se inserta en el código, lo que reduce la sobrecarga de tiempo de ejecución adicional.
Para definir una enumeración constante, debe agregar la palabra clave antes de la enumeración const
:
const enum WeekDay {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday
}
let today = WeekDay.Wednesday;
console.log(today); // 输出:3
En el ejemplo anterior, definimos una enumeración constante WeekDay
y asignamos su valor a una variable today
. En el momento de la compilación, WeekDay
el valor de la enumeración se insertará en el código.
Seis, el uso de la enumeración.
Las enumeraciones tienen muchos usos en el código. Estos son algunos casos de uso comunes:
-
Alternativa a los números mágicos: las enumeraciones pueden asociar constantes con nombres significativos, evitando la necesidad de números mágicos en su código.
-
Representación de opciones: las enumeraciones se pueden usar para representar opciones y configuraciones, como estados de interruptores, direcciones, etc.
-
Rango de valor límite: la enumeración se puede utilizar para limitar el rango de valores, como el día de la semana, el mes, etc.
-
Reemplazar constantes de cadena: las enumeraciones de cadena se pueden usar para reemplazar constantes de cadena para mejorar la capacidad de mantenimiento del código.
Resumir
En TypeScript, una enumeración es un tipo de datos que se utiliza para definir una colección de constantes con nombre. Mediante el uso de enumeraciones, podemos simplificar nuestro código, mejorar la legibilidad y reducir los errores. Las enumeraciones nos permiten dar nombres significativos a un grupo de constantes relacionadas y usarlas de una manera más intuitiva en nuestro código. Las enumeraciones numéricas y las enumeraciones de cadenas se usan para representar constantes numéricas y constantes de cadenas respectivamente, y las enumeraciones constantes se usan para eliminar enumeraciones en la etapa de compilación.