为什么可以在 JavaScript 中添加参数类型和返回类型

why can add parameter type and return type to javascript?

本文关键字:参数 类型 返回类型 添加 JavaScript 为什么      更新时间:2023-09-26

我正在学习反应原生。当我看到XMLHttpRequest Base.js时,我想知道为什么语法如此奇怪?我以前从未见过这个。请帮忙。

class XMLHttpRequestBase {
	UNSENT: number;
  onload: ?Function;
  responseHeaders: ?Object;
  upload: ?{
    onprogress?: (event: Object) => void;
  };
  constructor() {
  }
  _didUploadProgress(requestId: number, progress: number, total: number): void {
    if (requestId === this._requestId && this.upload && this.upload.onprogress) {
      var event = {
        lengthComputable: true,
        loaded: progress,
        total,
      };
      this.upload.onprogress(event);
    }
  }
}

链接到该文件。

JavaScript 没有参数类型或返回类型。这里什么都没有改变。然而,Facebook开发了Flow库,它是"一个静态类型检查器,旨在查找JavaScript程序中的类型错误:"它允许做一些事情,就像在你的例子中一样。

入门页面甚至说 Flow 是必须下载和安装才能使用 react-native 的先决条件之一。