Typescript中的联合类型?

编程入门 行业动态 更新时间:2024-10-25 12:23:37
本文介绍了Typescript中的联合类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

为什么在 TypeScript 中不允许这种类型定义?

Why this defination of type is not allowed in TypeScript?

type profileType = 'TEACHER' | 'PRINCIPAL'; interface FormList { [ key: profileType ] : IForm[]; } let forms: FormList; forms = { 'TEACHER' : [{ id: 1, name: "o" }, { id: 1, name: "b" }] }

它在一行中调用错误:[ key: profileType ] : IForm[];.

It invokes an error in line: [ key: profileType ] : IForm[];.

推荐答案

您可以将字符串文字从联合映射到新类型.这在打字稿中称为映射类型:>

You can map string literals from union into new type. This is called mapped type in typescript:

type IForm = {}; type ProfileType = 'TEACHER' | 'PRINCIPAL'; type FormList = { [P in ProfileType]: IForm[] }; let forms: FormList; forms = { 'TEACHER': [{ id: 1, name: "o" }, { id: 1, name: "b" }], 'PRINCIPAL': [{ id: 1, name: "o" }, { id: 1, name: "b" }] }

更多推荐

Typescript中的联合类型?

本文发布于:2023-05-29 23:12:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/355141.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:类型   Typescript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!