这种是什么 TypeScript 语法? this!.state!.imageSizes![index]

2018-01-24 16:11:52 +08:00
 Lxxyx

RT.

在 Github 的开源项目中看到这种写法,感觉有点诧异。

一开始以为是 optional chaining operator,但是发现编译后的代码并没有 optional chaining 的特性

项目用的是 TypeScript.

代码出处: https://github.com/ascoders/react-native-image-viewer/blob/master/src/image-viewer.component.tsx#L126

2096 次点击
所在节点    问与答
3 条回复
Kilerd
2018-01-24 16:40:55 +08:00
optional,可以是有内容的,也可能是空的。
所以在使用前先判断是否为空。
让你确定他已经是有内容的情况下,可以在变量名后面!来强行解构。
hahastudio
2018-01-24 16:50:49 +08:00
Ruiming
2018-01-24 18:49:03 +08:00
非空断言,排除了前面空类型的情况,不然他就会提示你前面那个可能为空。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/425584

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX