javascript - Typescript 声明已定义字符串或任何字符串的类型

标签 javascript typescript

我在其他地方找不到这方面的信息。我想创建一个既具有定义的字符串又允许使用任何类型的字符串的类型,但会为定义的条目提供自动建议。

现在如果我添加 //| string 最后,它有点接管,并且不给出任何自动建议。

                                      // if I add this it stops suggestions
type DefinedLetters = 'A' | 'B' | 'C' // | string

const Letter: DefinedLetters  = '' // Should suggest A, B or C, but also allow D, E, F, etc.

最佳答案

我发现这个很酷的 LiteralUnion 类型正在为你研究这个问题,我认为它很有魅力!

type LiteralUnion<T extends U, U = string> = T | (U & { });
type DefinedLetters = LiteralUnion<'A' | 'B' | 'C'>

const Letter: DefinedLetters  = "Cool!"

关于javascript - Typescript 声明已定义字符串或任何字符串的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58550698/

相关文章:

javascript - KnockoutJS - 映射和扩展器

angular - 未应用 Material 树样式

javascript - 使用 es6 数组方法从数组中提取第一个对象

javascript - 异步运行 mocha js(类似 AND)

javascript - 如果没有来自外部 API(通用 React + Redux 应用程序)的数据,如何重定向到 404?

javascript - Angular 4 动画正在 init 组件上执行

javascript - React - 使用map()时设置默认属性

typescript - 'typeRoots' 无法在项目中找到 d.ts 声明文件

typescript - 如何从 `@types` typescript 2.0 导入类型定义

asp.net - 使用 jQuery 将 JSON 对象成功发送到 ASP.NET WebMethod