Typescript中补充的六个类型
在TypeScript中,有六种新增的类型,它们分别是:
- 交叉类型(Intersection Types)
- 元组类型(Tuple Types)
- 派生类型(Derived Types)
- 泛型类型(Generic Types)
- 类型别名(Type Aliases)
- 类型断言(Type Assertion)
下面我们将逐一介绍这些类型,并提供相应的示例代码。
- 交叉类型(Intersection Types)
交叉类型是将多个类型合并为一个新类型。新类型具有所有类型的特性。
interface A {
x: number;
}
interface B {
y: string;
}
type C = A & B;
let c: C = { x: 1, y: "Hello" };
- 元组类型(Tuple Types)
元组类型允许表示一组固定长度的已知类型的值。
let tuple: [string, number];
tuple = ["Hello", 10]; // OK
// Error: Element at index 1 is not assignable to the type 'number'.
tuple = [10, "Hello"];
- 派生类型(Derived Types)
派生类型是基于已有类型创建新类型的过程。
class A {
x = 10;
}
type B = A;
let b: B = new B(); // Error: 'B' is an alias for 'A' which is a class.
- 泛型类型(Generic Types)
泛型类型允许定义可以在创建类或函数时指定类型的类或函数。
function identity<T>(arg: T): T {
return arg;
}
let result = identity<string>("Hello"); // Type of result is 'string'.
- 类型别名(Type Aliases)
类型别名允许创建一个新的名字来引用一个类型。
type A = number;
let b: A;
b = 10; // OK
// Error: Type 'string' is not assignable to type 'number'.
b = "Hello";
- 类型断言(Type Assertion)
类型断言允许你明确地指定一个类型。
let someValue: any = "Hello";
let strLength: number = (<string>someValue).length;
以上就是Typescript中补充的六种类型,以及它们的使用示例。
评论已关闭