javascript - TypeScript:同一类型/接口(interface)内的条件类型

标签 javascript typescript

我正在尝试让一些条件输入发挥作用,但不确定我的想法是否可行。就这样:

type AParams = {
    hello: string

}
type BParams = {
    world: string
}

type Data = {
    name: "a" | "b",
    data: AParams | BParams
}

取决于nameab我想强制执行data要么输入 AParamsBParams , 分别。有什么办法可以用 TypeScript 来完成这个任务吗?

最佳答案

您可以针对两种情况使用两种不同的接口(interface),例如:

interface AData {
    name: "a",
    data: AParams
}

interface BData {
    name: "b",
    data: BParams
}

然后使用联合类型设置Data,例如:

type Data = AData | BData;

关于javascript - TypeScript:同一类型/接口(interface)内的条件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61499412/

相关文章:

javascript - 如何在 Angular 中动态加载外部脚本?

javascript - 如何使用 NPM 安装 Angular 2?

javascript - 将鼠标悬停在导航栏中的单个按钮上

javascript - VueJs 在表中的日期之间过滤

javascript - 我怎样才能让它显示菜单上的所有内容而不必搜索?

javascript - 向所有登录 Web 应用程序的用户播放实时通知声音,无需重新加载页面

javascript - 阶段之间的 fullpage.js 初始化事件

javascript - 使用枚举作为类型/接口(interface)

typescript - 使用typescript compiler api时如何解决uninterpreted statement的问题?

html - 如何在 Angular/TypeScript 的 *ngFor 中切换行的背景颜色?