Hướng dẫn TypeScript

TypeScript Casting

Admin
Oct 26, 2024
5 phút đọc
376

Casting trong TypeScript là một quá trình cho phép bạn chuyển đổi một kiểu dữ liệu này thành kiểu dữ liệu khác. Điều này rất hữu ích khi bạn biết rằng một giá trị cụ thể sẽ có kiểu khác trong một ngữ cảnh cụ thể. TypeScript cung cấp hai cách để thực hiện casting: sử dụng cú pháp as và cú pháp dấu ngoặc.

Bài viết này là một phần của chuỗi học TypeScript trên "codetuthub.com", cùng với các bài học khác như TypeScript Simple Types, TypeScript Functions, và TypeScript Enums.

1. Tại sao cần Casting?

Casting giúp bạn đảm bảo rằng các giá trị bạn đang làm việc với có kiểu dữ liệu phù hợp với yêu cầu của ứng dụng. Điều này có thể giúp phát hiện lỗi tại thời điểm biên dịch thay vì khi chạy ứng dụng, từ đó giúp mã nguồn trở nên an toàn và dễ bảo trì hơn.

2. Cú pháp Casting

2.1 Sử dụng cú pháp as

Cú pháp as là cách phổ biến để thực hiện casting trong TypeScript. Bạn chỉ cần thêm từ khóa as sau giá trị cần cast và chỉ định kiểu mà bạn muốn chuyển đổi.

Ví dụ

ts
let someValue: any = "Hello, TypeScript!";
let strLength: number = (someValue as string).length;

console.log(strLength); // Kết quả: 17

Trong ví dụ này, biến someValue có kiểu any, và chúng ta sử dụng as để chuyển đổi nó thành kiểu string trước khi gọi thuộc tính length.

2.2 Sử dụng cú pháp dấu ngoặc

Một cách khác để thực hiện casting là sử dụng cú pháp dấu ngoặc.

Ví dụ

ts
let someValue: any = "Hello, TypeScript!";
let strLength: number = (<string>someValue).length;

console.log(strLength); // Kết quả: 17

3. Casting với các kiểu dữ liệu khác

Casting không chỉ áp dụng cho các kiểu đơn giản như string hay number. Bạn có thể sử dụng casting với các kiểu dữ liệu phức tạp hơn, chẳng hạn như đối tượng hoặc mảng.

Ví dụ với đối tượng

ts
interface Person {
    name: string;
    age: number;
}

let person: any = { name: "Alice", age: 25 };
let personDetails: Person = person as Person;

console.log(personDetails.name); // Kết quả: "Alice"

Ví dụ với mảng

ts
let numbers: any[] = [1, 2, 3];
let strNumbers: string[] = numbers as string[];

console.log(strNumbers); // Kết quả: [1, 2, 3] nhưng sẽ gây lỗi khi sử dụng

4. Kiểm tra kiểu với typeofinstanceof

Trước khi thực hiện casting, bạn nên kiểm tra kiểu của biến để đảm bảo rằng casting là hợp lệ. Bạn có thể sử dụng typeof cho các kiểu nguyên thủy và instanceof cho các đối tượng.

Ví dụ

ts
let input: any = "123";
if (typeof input === "string") {
    let str: string = input as string; // Casting an string
    console.log(str); // Kết quả: "123"
}

5. Kết luận

Casting trong TypeScript là một kỹ thuật hữu ích giúp bạn chuyển đổi giữa các kiểu dữ liệu, đảm bảo mã nguồn của bạn an toàn và dễ bảo trì. Bằng cách sử dụng cú pháp as hoặc dấu ngoặc, bạn có thể làm việc với các kiểu dữ liệu một cách linh hoạt. Để tìm hiểu thêm về TypeScript, hãy tham khảo các bài học liên quan trên "codetuthub.com" như TypeScript Simple Types, TypeScript Functions, và TypeScript Enums.

Toàn Nguyễn
Toàn NguyễnTác giả

Tác giả tại CodeTutHub

Xin chào, mình là Toàn 👋
Là Senior Full-Stack Developer ở HCM, đồng thời là người đứng sau CodeTutHub. Mình viết về những gì mình thực sự dùng hàng ngày — từ Laravel, Next.js, đến cách workflow lập trình với AI agents như Claude Code và Cursor.
Nếu bạn thấy bài này hữu ích, hãy subscribe newsletter hoặc kết nối với mình. Mình luôn sẵn sàng thảo luận về dự án thú vị, cơ hội remote, hoặc đơn giản là chat về tech.
Ho Chi Minh City · Open for collaboration

0 Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!
Đang trả lời
Xoá bình luận

Bạn có chắc muốn xoá bình luận này?
Hành động này không thể hoàn tác.

Thông báo hệ thống
Thông tin