Flow可选类型(Maybe Types)

可选类型(Maybe Types)

可选类型是用于值可选的地方,用法就是在类型前加一个?,例如?string?number可选类型可以是nullvoid

// @flow
function acceptsMaybeString(value: ?string) {
  // ...
}

acceptsMaybeString("bar");     // Works!
acceptsMaybeString(undefined); // Works!
acceptsMaybeString(null);      // Works!
acceptsMaybeString();          // Works!

可选对象属性

对象拥有可选属性的用法就是在属性后加一个?可选对象属性可以void或省略,但不能是null。如:

// @flow
function acceptsObject(value: { foo?: string }) {
  // ...
}

acceptsObject({ foo: "bar" });     // Works!
acceptsObject({ foo: undefined }); // Works!
acceptsObject({ foo: null });      // Error!
acceptsObject({});                 // Works!

可选函数参数

函数拥有可选参数的用法是在参数后加一个?可选参数可以void或省略,但不能是null。如:

// @flow
function acceptsOptionalString(value?: string) {
  // ...
}

acceptsOptionalString("bar");     // Works!
acceptsOptionalString(undefined); // Works!
acceptsOptionalString(null);      // Error!
acceptsOptionalString();          // Works!

函数参数默认值

在给定默认值类型的情况下,函数参数默认值可以是void或省略,但不能是null。如:

// @flow
function acceptsOptionalString(value: string = "foo") {
  // ...
}

acceptsOptionalString("bar");     // Works!
acceptsOptionalString(undefined); // Works!
acceptsOptionalString(null);      // Error!
acceptsOptionalString();          // Works!
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,264评论 19 139
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,579评论 9 118
  • 基本数据类型 JavaScript有几种不同的基本数据类型 布尔(Booleans) 字符串(Strings) 数...
    vincent_z阅读 4,949评论 0 1
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 9,495评论 1 10
  • 婆婆病情依旧反复,到这个地步真是让人心酸,只能尽人事听天命。公公瘦了一大圈,老公除了电话遥控外地的工程,还得跑...
    panpanyang阅读 1,769评论 2 3

友情链接更多精彩内容