类型标记
与 Typescript 类似,Flow 采用后置类型标记,例如格式为function f(a: string): string {}
。
Flow 中可以使用以下基本类型,这些类型名称的首字母可以为大写。
boolean
,布尔型。number
,数字型。string
,字符串型。null
,空。void
,undefined
类型。?type
,在类型名称前加前缀?
,表示可空类型,变量可以是null
或者void
。propertyName?
,在对象语法的属性字段名后添加后缀?
,表示该属性在对象中可能不会出现。例如{ foo?: string }
。用在函数定义中表示可选参数。- 字面量,表示变量或者函数参数只能取值指定字面量,常搭配联合类型使用。
mixed
,可能是任何类型。any
,可能是任何类型,类型检查器将不对其进行强制检查。Array<T>
,数组类型。[T, T, T]
,元组类型。T | T | T
,联合类型,变量可以是联合类型中的一种。T & T & T
,合集类型,变量是所有类型的合集。interface typeName {}
,接口类型,其中需定义接口中要包含的方法。<T>
,泛型类型,用法与 Java、Typescript 中的泛型一致。