“类型”是啥意思,ECMA 6 中的问号有啥特殊用途吗?
Posted
技术标签:
【中文标题】“类型”是啥意思,ECMA 6 中的问号有啥特殊用途吗?【英文标题】:What does "type" mean and is there is a special use for a question mark in ECMA 6?“类型”是什么意思,ECMA 6 中的问号有什么特殊用途吗? 【发布时间】:2016-04-01 01:06:21 【问题描述】:在 React Native 示例代码中,您会发现 at some files 和 type
语句,它封装了 4 个属性(我想猜一下),其中最后两个带有问号后缀。
type MapRegion =
latitude: number,
longitude: number,
latitudeDelta?: number,
^============ What are these...
longitudeDelta?: number,
; ^===========...question marks for?
这一切意味着什么?在 ECMAScript 6 的规范中,我找不到任何关于“类型”的信息。
【问题讨论】:
【参考方案1】:即flow,一种向 javascript 添加静态类型的转译器语言。
type MapRegion =
latitude: number,
longitude: number,
// This property is nullable
latitudeDelta?: number,
// This property is nullable
longitudeDelta?: number,
;
// The following does not cause a compilation error
/* @flow */
var a:MapRegion =
latitude: 1,
longitude: 3
;
【讨论】:
TypeScript 脚本是否有.js
作为文件扩展名?
@idmean,还没有。默认扩展名是 .ts,但是有一个项目允许在未来版本之一中转换 .js 文件。
这是流程,而不是 TypeScript。
@FelixKling 谢谢,已修复【参考方案2】:
Facebook 实际上正在使用他们的静态类型转译 JavaScript 版本,称为“Flow”。这就是你在这里看到的。它有点类似于 TypeScript,因此它们很容易被误认为是彼此。
http://flowtype.org/
【讨论】:
以上是关于“类型”是啥意思,ECMA 6 中的问号有啥特殊用途吗?的主要内容,如果未能解决你的问题,请参考以下文章