首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typescript -不带函数的keyof

Typescript -不带函数的keyof
EN

Stack Overflow用户
提问于 2018-06-01 18:43:06
回答 2查看 394关注 0票数 2

我正面临以下问题,我不确定如何处理它。我想给另一个对象的字符串属性指定一个属性的名称。然而,在这种情况下,我不确定如何使用key of。

我设法使用了“验证”函数,只是为了避免编译错误,但我想跳过声明一个什么也不做的函数。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2018-06-01 18:46:23

类型断言是为了让你做一些编译器认为是无效的事情。只需显式声明const的类型:

代码语言:javascript
复制
interface IGame { id: number}
const incalidColumn: keyof IGame = 'invalild' // error
const validColumn: keyof IGame = 'id' 
票数 1
EN

Stack Overflow用户

发布于 2018-06-01 19:07:33

为了将类型检查从JS输出中分离出来,可以使用与this answer相同的方法:

代码语言:javascript
复制
type CheckGameProp<T extends keyof IGame> = T;

const invalidColumn = "invalidColumn";
{ type _checkGameProp = CheckGameProp<typeof invalidColumn>; }

const validColumn = "id";
{ type _checkGameIdProp = CheckGameProp<typeof validColumn>; }

可以限定_checkGameIdProp伪类型的作用域,以避免类型名称选择方面的问题。

根据invalidColumnvalidColumn的使用方式,最好检查它们的使用位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50641673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档