官术网_书友最值得收藏!

Enumerations

Enumerations allow us to declare a meaningful set of friendly names that a variable can be set to. We use the enum keyword, followed by the name we want to give to it, followed by the possible values in curly braces.

Here's an example:

  1. Let's declare an enum for order statuses in the TypeScript playground:
enum OrderStatus {
Paid,
Shipped,
Completed,
Cancelled
}
  1. If we look at the transpiled JavaScript, we see that it looks very different:
var OrderStatus;
(function (OrderStatus) {
OrderStatus[OrderStatus["Paid"] = 1] = "Paid";
OrderStatus[OrderStatus["Shipped"] = 2] = "Shipped";
OrderStatus[OrderStatus["Completed"] = 3] = "Completed";
OrderStatus[OrderStatus["Cancelled"] = 4] = "Cancelled";
})(OrderStatus || (OrderStatus = {}));

This is because enumerations don't exist in JavaScript, so the TypeScript compiler is transpiling the code into something that does exist.

  1. Let's declare a status variable, setting the value to the shipped status:
let status = OrderStatus.Shipped; 

Notice how we get nice IntelliSense when typing the value:

  1. By default, the numerical values start from 0 and increment. However, the starting value can be explicitly declared in the enum, as in the following example, where we set Paid to 1:
enum OrderStatus {
Paid = 1,
Shipped,
Completed,
Cancelled
}
  1. Let's set our status variable to the shipped status and log this to the console:
let status = OrderStatus.Shipped;
console.log(status);

If we run the program, we should see 2 output in the console:

  1. In addition, all the values can be explicitly declared, as in the following example:
enum OrderStatus {
Paid = 1,
Shipped = 2,
Completed = 3,
Cancelled = 0
}

Enumerations are great for data such as a status that is stored as a specific set of integers but actually has some business meaning. They make our code more readable and less prone to error.

主站蜘蛛池模板: 桂平市| 聊城市| 会宁县| 潞城市| 阿荣旗| 牟定县| 锡林浩特市| 沾化县| 红河县| 亳州市| 江安县| 进贤县| 大足县| 神池县| 留坝县| 拜泉县| 建水县| 甘南县| 武定县| 淮北市| 若羌县| 深州市| 富裕县| 石首市| 巩义市| 巧家县| 克拉玛依市| 竹山县| 梧州市| 岳池县| 海口市| 固阳县| 开阳县| 报价| 白城市| 太谷县| 武强县| 威远县| 英德市| 永修县| 英德市|