Tin tức và phân tích của tất cả các thiết bị di động

Hướng dẫn cách làm việc với nó

TypeScript là một siêu bộ JavaScript giúp bạn viết mã an toàn kiểu.

Nhờ TypeScript, bạn sẽ có thể phát hiện lỗi sớm hơn và sửa chúng. Một trong những chức năng quan trọng của TypeScript là liệt kê. Enum là một cấu trúc phổ biến trong TypeScript giúp bạn viết mã an toàn hơn.

Trong bài viết này, tôi sẽ giải thích về các bảng liệt kê, cách tạo và sử dụng chúng cũng như nhiều điều khác cần xem xét.

một bảng liệt kê là gì?

Enum là viết tắt của kiểu liệt kê. Một kiểu dữ liệu liệt kê được xác định bởi các giá trị khác nhau mà một biến thuộc loại đó có thể nhận. Các giá trị khác nhau mà nó có thể nhận thường được gọi là thành viên hoặc phần tử.

Trong bài viết này, chúng tôi sẽ gọi họ là thành viên. Việc liệt kê không chỉ là một chức năng của TypeScript. Đúng hơn, các kiểu liệt kê cũng có mặt và được sử dụng trong các ngôn ngữ lập trình khác. Việc sử dụng bảng liệt kê mang lại sự an toàn về loại hình hơn trong các chương trình TypeScript.

Cũng đọc: Các thư viện và thời gian chạy TypeScript tốt nhất mà nhà phát triển nên biết

Tại sao sử dụng bảng liệt kê?

Bảng liệt kê giúp xác định những giá trị nào một biến có thể giữ. Chúng cũng giúp bạn chỉ định những giá trị mà đối số của hàm có thể nhận. Điều này đảm bảo rằng các lập trình viên luôn cung cấp các giá trị mong đợi cho các biến và đối số của hàm. Điều này sẽ giúp loại bỏ lỗi và giúp bạn viết mã an toàn và mạnh mẽ hơn.

Điều kiện tiên quyết để làm việc với các phép tính

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách làm việc với enum trong TypeScript. Để sử dụng hướng dẫn này, bạn phải có khả năng chạy và thực thi mã TypeScript.

Do đó, bạn phải cài đặt NodeJ để thực thi mã JavaScript. Nếu bạn chưa cài đặt TypeScript thì video bên dưới là hướng dẫn cách thực hiện điều đó.

Ngoài ra, nếu bạn muốn biên dịch và thực thi tập lệnh ngay lập tức, hãy sử dụng ts-node. Mặc dù đó là những gì tôi sẽ làm trong bài viết này, nhưng đối với các dự án lớn hơn, tôi khuyên bạn nên cài đặt TypeScript. Để thực thi tập lệnh bằng nút ts, hãy sử dụng lệnh sau:

npx ts-node <scriptname>

Bài viết này cũng giả định rằng bạn đã quen thuộc với JavaScript và TypeScript cơ bản.

Làm việc với một phép tính đơn giản

Cách tạo một bảng liệt kê đơn giản

Các enum TypeScript được tạo bằng từ khóa enum. Tiếp theo là tên của bảng liệt kê, theo sau là danh sách các thành phần mà bảng liệt kê chứa. Đây là một ví dụ trong đó chúng tôi khai báo cách liệt kê bốn điểm chính của la bàn.

enum Direction {
    North,
    East,
    South,
    West
}

Lưu ý rằng các mục liệt kê không được đặt trong dấu ngoặc kép – chúng không phải là chuỗi.

Cách sử dụng một bảng liệt kê đơn giản

Bạn gán giá trị được tính toán cho một biến như thế này:

const heading: Direction = Direction.North;

Vì chúng ta gán biến sau khi khai báo nên TypeScript có thể suy ra kiểu dữ liệu. Do đó, chúng tôi không cần xác nhận loại. Thay vào đó, chúng ta có thể viết như thế này:

const heading = Direction.North;

Để tìm ra giá trị của biến tiêu đề là gì, chúng ta có thể xâu chuỗi nó trong console.log.

console.log(heading);

Kết quả của việc này sẽ là:

0

Biến tiêu đề chứa giá trị 0 mặc dù chúng tôi đã gán nó cho Direction.North. Điều này là do mỗi thành viên được gán một giá trị số khi tạo bảng liệt kê. Thành viên đầu tiên được phân công 0cái khác 1 và như thế. Đây là một cuộc biểu tình:

console.log(Direction.North, Direction.East, Direction.South, Direction.West)

Do đó, bạn có thể kiểm tra xem biến tiêu đề có chứa hướng bắc hay không bằng cách tìm thấy nó bằng 0. Ví dụ:

// Asserting equality
let isNorth = heading == 0;

// Printing the result
console.log(isNorth);

Như được hiển thị trước đó, Direction.North bằng nhau 0. Thay vì kiểm tra xem tiêu đề có bằng 0 hay không, chúng ta có thể kiểm tra xem đó có phải là Heading.North hay không.

// Checking if direction is North
isNorth = heading == Direction.North;

// Printing the result
console.log(isNorth);

Tất cả điều này đều hữu ích; rất có thể bạn sẽ sử dụng các giá trị được tính toán theo cách này. Tuy nhiên, bạn có thể làm nhiều hơn nữa như bạn sẽ thấy sau. Phần tiếp theo thảo luận về cách làm việc với các giá trị tùy chỉnh.

Làm việc với các giá trị tùy chỉnh

Khi bạn tạo một bảng liệt kê, TypeScript sẽ tự động gán các giá trị số cho các thành viên, bắt đầu từ 0. Tuy nhiên, bạn có thể muốn các thành viên của mình có các giá trị tùy chỉnh thay vì các giá trị mặc định. Trong trường hợp này, bạn có thể chỉ định chúng. như thế này:

enum StarRating {
    VeryPoor = 1,
    Poor = 2,
    Average = 3,
    Good = 4,
    Excellent = 5
}

Ngoài ra, bạn có thể làm như sau:

enum StarRating {
    VeryPoor = 1,
    Poor,
    Average,
    Good,
    Excellent
}

Trong trường hợp này, số hạng đầu tiên sẽ được gán một giá trị 1. Các lựa chọn tiếp theo sẽ tự động tăng dần so với lựa chọn trước đó. Vì vậy, Nghèo sẽ có xếp hạng 2Trung bình 3 và như thế.

Các lựa chọn trong một bảng liệt kê không phải lúc nào cũng có giá trị số, như bạn sẽ thấy sau. Tuy nhiên, những cái có giá trị số sẽ hoạt động như những con số bình thường.

console.log(typeof StarRating.Average);

Điều này sẽ in “số”. Điều này có nghĩa là bạn có thể thực hiện tất cả các loại hoạt động bằng số, bao gồm cả việc so sánh như:

console.log(StarRating.Excellent > StarRating.Average)

Điều này sẽ in “đúng”.

Sử dụng chuỗi làm giá trị tùy chỉnh

Như đã đề cập trước đó, tùy chọn enum có thể có giá trị chuỗi chứ không chỉ có số. Đây là cách bạn sẽ làm điều đó:

enum Choice {
    RedPill = "Know Everything"
    BluePill = "Know Nothing"
}

Trong trường hợp này, các lựa chọn enum sẽ hoạt động giống như các lựa chọn trước đó. Tuy nhiên, vì các giá trị là chuỗi nên bạn có thể thực hiện các thao tác trên chuỗi chứ không phải số như trong ví dụ trước.

liệt kê không đồng nhất

Bạn cũng có thể trộn các giá trị chuỗi và số. Điều này không được khuyến khích và không hữu ích lắm, nhưng dù sao cũng có thể.

enum Mixed {
    First = "String"
    Second = 2
}

những từ cuối

Trong bài viết này, chúng ta đã thảo luận về enum bản thảo là gì. Chúng tôi cũng đã nói về lý do tại sao chúng quan trọng. Chúng ta cũng đã thảo luận về các loại giá trị khác nhau mà các phần tử liệt kê có thể có.

Sau đó hãy xem bài viết của chúng tôi về Loại so với Giao diện trong TypeScript.

Mục lục