gpt4 book ai didi

javascript - 带有流类型注释的混合

转载 作者:搜寻专家 更新时间:2023-11-01 04:08:15 25 4
gpt4 key购买 nike

我正在使用 ES6 和 Flow项目中的类型检查器。

假设我有两个 type aliases ,仅根据对它们的期望方法(如 Java 接口(interface))定义:

type Airplane = {
takeOff: (() => void);
land: (() => void);
};

type Car = {
drive: ((speed: number) => void);
};

我如何定义一个类 FlyingCar 来向类型检查器证明它既是 Car 又是 Airplane?我正在使用 ECMAScript 6 类。

我怀疑它看起来像这样的类型:

type FlyingCar = (Airplane & Car);

我似乎无法将我想要的与 the class syntax 协调起来,不过,因为它似乎与 ES6 的类语法有关。

最佳答案

您不必证明它是流畅的。 Flow 实现结构类型系统,因此您只需在类中实现这两种类型。

这不是类型检查:

class FlyingCar {}

function flyInACar(car: Airplane & Car): void {

}

flyInACar(new FlyingCar());

这样做:

class FlyingCar {
takeOff(): void {}
land(): void {}
drive(speed: number): void {}
}


function flyInACar(car: Airplane & Car): void {

}

flyInACar(new FlyingCar());

关于javascript - 带有流类型注释的混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30959567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com