Menu
CoddyTech

Mảng tổng quát

Thuộc phần Giới thiệu về TypeScript trong hành trình JavaScript của Coddy. Bài học 60 trên 73.

Mảng và kiểu tổng quát kết hợp rất tốt trong TypeScript. Khi học về mảng có kiểu dữ liệu trước đó, bạn đã dùng cú pháp T[] để chỉ định rằng một mảng chỉ có thể chứa các phần tử thuộc một kiểu dữ liệu cụ thể. Kiểu tổng quát giúp bạn diễn đạt cùng khái niệm này theo một cách khác.

TypeScript cung cấp một cú pháp khác để khai báo mảng có kiểu dữ liệu bằng định dạng Array<T>:

// These two declarations are equivalent:
let numbers1: number[] = [1, 2, 3];
let numbers2: Array<number> = [1, 2, 3];

Cú pháp Array<T> đặc biệt hữu ích khi làm việc với các hàm tổng quát thao tác trên mảng. Cú pháp này giúp thể hiện rõ hơn tính tổng quát của code và làm code dễ đọc hơn, nhất là khi bạn tạo các hàm có thể làm việc với mảng thuộc mọi kiểu dữ liệu mà vẫn đảm bảo an toàn kiểu.

challenge icon

Thử thách

Dễ

Tạo một hàm tổng quát có tên getFirstElement, nhận một mảng có kiểu bất kỳ và trả về phần tử đầu tiên hoặc undefined nếu mảng rỗng.

Hàm cần:

  • Dùng tham số kiểu tổng quát T
  • Nhận một tham số tên arr có kiểu Array<T>
  • Trả về phần tử đầu tiên có kiểu T hoặc undefined
  • Có chú thích kiểu trả về tường minh là T | undefined

Tạo các mảng sau bằng cú pháp Array<T>:

  • stringArray có kiểu Array<string>, chứa ["apple", "banana", "cherry"]
  • numberArray có kiểu Array<number>, chứa [10, 20, 30, 40]
  • booleanArray có kiểu Array<boolean>, chứa [true, false, true]
  • emptyStringArray có kiểu Array<string> và rỗng

Kiểm tra hàm và in ra các kết quả sau:

  • In ra kết quả khi gọi getFirstElement với stringArray
  • In ra kết quả khi gọi getFirstElement với numberArray
  • In ra kết quả khi gọi getFirstElement với booleanArray
  • In ra kết quả khi gọi getFirstElement với emptyStringArray
  • In ra kết quả khi gọi getFirstElement với một Array<string> mới chứa ["single"]

Tự làm thử

// TODO: Viết code tại đây
// Tạo hàm tổng quát getFirstElement

// Tạo các mảng cần thiết bằng cú pháp Array<T>

// Kiểm tra hàm và in kết quả
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Giới thiệu về TypeScript

Tự luyện tập: Playground TypeScript