1. 声明联合类型:
let myVar: string | number;
myVar = "Hello";
myVar = 123;
// myVar = true; // 错误,不能赋值布尔值
在上述例子中,myVar 可以是 string 类型或 number 类型之一。
2. 使用联合类型处理不同类型的值:
function displayType(value: string | number): void {
if (typeof value === "string") {
console.log("Value is a string: " + value);
} else {
console.log("Value is a number: " + value);
}
}
displayType("Hello"); // 输出: Value is a string: Hello
displayType(123); // 输出: Value is a number: 123
3. 联合类型的方法调用:
function display(value: string | number): void {
console.log(value.toString()); // 调用 toString 方法,需要确保 value 的类型支持该方法
}
display("Hello"); // 输出: Hello
display(123); // 输出: 123
4. 联合类型的数组:
let arr: (string | number)[] = ["Hello", 123, "TypeScript", 456];
5. 联合类型的对象:
type Dog = { kind: "dog"; bark: () => void };
type Cat = { kind: "cat"; meow: () => void };
let pet: Dog | Cat;
pet = { kind: "dog", bark: () => console.log("Woof!") };
pet.bark(); // 输出: Woof!
pet = { kind: "cat", meow: () => console.log("Meow!") };
pet.meow(); // 输出: Meow!
在上述例子中,pet 可以是 Dog 类型或 Cat 类型之一。
6. null 和 undefined 与联合类型:
let value: string | null | undefined;
value = "Hello";
value = null;
value = undefined;
这些是 TypeScript 中关于联合类型的一些基本用法。联合类型是 TypeScript 强大的类型系统的一部分,它允许更灵活地处理具有多种可能类型的变量。
转载请注明出处:http://www.zyzy.cn/article/detail/13020/TypeScript