【发布时间】:2020-10-16 06:47:03
【问题描述】:
type a = 'one' | 'two'
我想要type b 喜欢
type b = 'ONE' | 'TWO'
所以我尝试了
type a = 'one' | 'two'
type b = {[P in a]: P['toUpperCase']}
但这并不能达到我想要的效果。
感谢您的阅读:)
【问题讨论】:
-
如果可能的话,我会印象深刻。但我怀疑它可能不是。
-
不,类型系统中没有字符串操作。
-
我能想到的唯一解决方案是将此
type a = 'one' | 'two'存储在单独的文件中并读取文件内容,然后以编程方式将值更改为大写。 -
@IAMTHEBEST 我想它可以工作,但看起来有点难看。您可能能够进行某种类型的构建步骤来转换类型,比如从
lowercase.d.ts获取所有内容并生成一个uppercase.d.ts,其中所有字符串文字类型都为大写。但我不确定我是否真的喜欢这个。如果您需要首先将其大写或其他任何偏离的内容,似乎很容易与此紧密结合。 -
@VLAZ 是的,这对我来说似乎有点像。如果有人可以写一个回答“不”的答案,我会批准它????
标签: javascript typescript types type-conversion typescript-typings