这里使用了什么 Javascript 功能?

What Javascript feature is being used here?

我正在研究 React 和 Apollo JS 并遇到了这种语法。

下面声明的 Launches 使用了什么 JS 功能?

const Launches: React.FC<LaunchesProps> = () => {
  const {
    data,
    loading,
    error
  } = useQuery<
    GetLaunchListTypes.GetLaunchList,
    GetLaunchListTypes.GetLaunchListVariables
  >(GET_LAUNCHES);

  if (loading) return <Loading />;
  if (error) return <p>ERROR</p>;
  if (!data) return <p>Not found</p>;

  return (
    <Fragment>
      <Header />
      {data.launches &&
        data.launches.launches &&
        data.launches.launches.map((launch: any) => (
          <LaunchTile key={launch.id} launch={launch} />
        ))}
    </Fragment>
  );
}

那是 Typescript 而不是 Javascript,它是一个静态类型注释。

它将函数类型设置为 React 函数组件,类型为 LaunchesProps 作为它接收的道具的类型。