peva的类型有哪些?
类型:
-
函数类型:
(a: A) => B
,其中A
是类型变量,B
是任何类型。 -
泛型类型:
forall T, U : Type, F : T => U
,其中Type
是泛型类型,T
是任何类型,U
是任何类型,F
是T
到U
的类型转换函数。 -
类型函数:
(a: A) => B
,其中A
是任何类型,B
是任何类型。 -
泛型类型函数:
forall T, U : Type, F : T => U
,其中Type
是泛型类型,T
是任何类型,U
是任何类型,F
是T
到U
的类型转换函数。 -
类型变量:
a : A
,其中A
是任何类型。 -
类型常量:
const x = 123
,其中x
是任何类型。
示例:
// 函数类型
function add(a: number, b: number): number {
return a + b;
}
// 泛型类型
function identity(value: T): T {
return value;
}
// 类型函数
function isString(value: any): value is string {
return typeof value === 'string';
}
// 泛型类型函数
function map(array: T[], transform: (item: T) => U): U[] {
return array.map(transform);
}
```