为任意对象属性声明Typescript类型

为任意对象属性声明Typescript类型,typescript,typescript-typings,Typescript,Typescript Typings,在Typescript 3.7.3中,您还没有发现正确的TS语法 我有一个任意的对象,比如: var obj = { one: ..., two: ... three: ... }; 我需要从该对象生成一个包含所有键的类型,创建如下类型: type ObjKeys = 'one' | 'two' | 'three'; 我在某个地方读到过这样的语法应该可以使用,但可能是旧版本的TS type ObjKeys = keyof typeof obj; 有什么想法吗 jca

在Typescript 3.7.3中,您还没有发现正确的TS语法

我有一个任意的对象,比如:

var obj = {
    one: ...,
    two: ...
    three: ...
};
我需要从该对象生成一个包含所有键的类型,创建如下类型:

type ObjKeys = 'one' | 'two' | 'three';
我在某个地方读到过这样的语法应该可以使用,但可能是旧版本的TS

type ObjKeys = keyof typeof obj;

有什么想法吗

jcalz在上面的评论中非常正确:语法是正确的。在我的例子中,问题在于我的构建-我使用babel eslint作为解析器,但扩展了“plugin:@typescript eslint/recommended”)。在解析器修复它时切换到@typescript eslint

埃斯林先生


obj类型的键
应;您是否可以提供一个如中所述的,可以放入独立IDE中以演示该问题?祝你好运谢谢jcalz!是的,你说得对-在打字游戏场上很好用。由于某些原因,在我的本地构建(网页包)中,我得到:75:36错误解析错误:意外标记,预期“;”我将查看我的构建。谢谢
{
    "parser": "@typescript-eslint/parser",
    ...
}