簡體   English   中英

為任意對象屬性聲明 Typescript 類型

[英]Declare Typescript type for arbitrary object properties

還沒有通過 Typescript 3.7.3 偶然發現正確的 TS 語法。

我有一個任意對象,例如:

var obj = {
    one: ...,
    two: ...
    three: ...
};

我需要從該對象生成所有鍵的類型,創建一個像這樣的類型:

type ObjKeys = 'one' | 'two' | 'three';

我在某處讀到這種語法應該有效,但也許是舊版本的 TS。

type ObjKeys = keyof typeof obj;

任何的想法?

jcalz 在上面的評論中說得很對:語法是正確的。 在我的情況下,問題出在我的構建上 - 我使用 babel-eslint 作為解析器,但正在擴展“插件:@typescript-eslint/recommended”)。 在解析器修復它時切換到 @typescript-eslint。

.eslintrc

{
    "parser": "@typescript-eslint/parser",
    ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM