Type Inference

Type Inference trong TypeScript là khả năng của trình biên dịch TypeScript tự động xác định kiểu dữ liệu của biến, hàm hoặc đối tượng dựa trên giá trị được gán cho chúng.

Khi khai báo một biến mà không chỉ định kiểu dữ liệu, TypeScript sẽ tự động xác định kiểu dữ liệu của biến dựa trên giá trị được gán cho nó. Ví dụ:

let x = 10; //Typescript tu dong xac dinh kieu du lieu la number let y = "hello"; //Typescript tu dong xac dinh kieu du lieu la string let z = [1, 2, 3]; //Typescript tu dong xac dinh kieu du lieu la number[]

TypeScript cũng có khả năng suy ra kiểu dữ liệu trả về của hàm dựa trên các lệnh trong hàm. Ví dụ:

function add(a: number, b: number){ return a + b } let result = add(1,2); // Typescript tu dong xac dinh kieu du lieu cua result la number

Type Assertion

Type Assertion (hay còn được gọi là Type Casting) trong TypeScript là cách để định kiểu cho một biến hoặc giá trị dữ liệu khi TypeScript không thể suy ra kiểu dữ liệu của chúng.

Type Assertion có hai cách sử dụng:

  • Sử dụng toán tử “<>”
let x: any = "hello"; let y = (<string>x).toUpperCase(); // su dung toan tu <>, typescript hieu x la kieu string
  • Sử dụng toán tử “as”
let x: any = "hello"; let y = (x as string).toUpperCase();

Lưu ý rằng, Type Assertion có thể dẫn đến các lỗi logic nếu chúng ta ép kiểu sai hoặc ép kiểu sang kiểu không phù hợp. Vì vậy, chúng ta nên sử dụng Type Assertion một cách cẩn thận và hạn chế sử dụng khi có thể.


Tài liệu tham khảo: