Union type là gì?
Noun
TypeScript
- ★
- ★
- ★
- ★
- ★
TypeScript cho phép chúng ta sử dụng nhiều hơn một kiểu dữ liệu (data type) cho một biến (variable) hoặc một tham số (parameter) của hàm (parameter), đây được gọi là union type. Bên dưới là cú pháp (syntax) của union type:
(type1 | type2 | type3 | .. | typeN)
Hãy xem xét ví dụ sau về union type.
let code: (string | number);
code = 123; // OK
code = "ABC"; // OK
code = false; // Compiler Error
let empId: string | number;
empId = 111; // OK
empId = "E111"; // OK
empId = true; // Compiler Error
Trong ví dụ trên, biến code có kiểu dữ liệu là union type, được biểu thị bằng cách sử dụng (string | number). Vì vậy, bạn có thể gán một chuỗi hoặc một số cho nó.
Tham số hàm cũng có thể có union type, như được hiển thị bên dưới.
function displayType(code: (string | number))
{
if(typeof(code) === "number")
console.log('Code is number.')
else if(typeof(code) === "string")
console.log('Code is string.')
}
displayType(123); // Output: Code is number.
displayType("ABC"); // Output: Code is string.
displayType(true); //Compiler Error: Argument of type 'true' is not assignable to a parameter of type string | number
Trong ví dụ trên, tham số code có kiểu dữ liệu là union type. Vì vậy, bạn có thể truyền (pass) một giá trị chuỗi hoặc một giá trị số. Nếu bạn truyền bất kỳ loại giá trị nào khác, ví dụ: boolean, thì trình biên dịch (compiler) sẽ báo lỗi.
Learning English Everyday