【问题标题】:What does "type" mean and is there is a special use for a question mark in ECMA 6?“类型”是什么意思,ECMA 6 中的问号有什么特殊用途吗?
【发布时间】:2023-04-01 05:05:01
【问题描述】:

在 React Native 示例代码中,您会发现 at some filestype 语句,它封装了 4 个属性(我想猜一下),其中最后两个带有问号后缀。

type MapRegion = {
  latitude: number,
  longitude: number,
  latitudeDelta?: number,
               ^============   What are these...
  longitudeDelta?: number,
};              ^===========...question marks for? 

这一切意味着什么?在 ECMAScript 6 的规范中,我找不到任何关于“类型”的信息。

【问题讨论】:

    标签: javascript reactjs ecmascript-6 react-native flowtype


    【解决方案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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-13
      • 2015-09-04
      • 1970-01-01
      • 2014-07-28
      • 2012-04-19
      • 2015-11-01
      • 2010-09-29
      • 2011-04-18
      相关资源
      最近更新 更多