TS中拿到某个对象的所有值

81 阅读1分钟

背景

在项目中经常使用到const type这两个声明,有时候需要把他们的值进行转换,比如把const的键或者值转成type的值

具体实现

// 这里需要先声明一个辅助函数比如叫`ValueOf`,类似于`keyof`功能的这种,然后就可以在实际中进行转换了
type ValueOf<T> = T[keyof T];

// 举个例子,有这样的一个对象,我想定义一个type为`new` `removed`的值
cosnt LineType = {
    new: 'new',
    removed: 'removed'
} as const

// 使用上面定义的ValueOf函数
type LineType = ValueOf<typeof LineState>;

相关文章: a-valueof-similar-to-keyof