Typescript keyof返回字符串数组

问题描述 投票:3回答:2

假设我有一节课:

class Test { 
  propA;
  propB;
  propC;
}

我想创建一个返回字符串数组的方法,并将其键入只有Test类中存在的键,我该如何使用keyof功能?

 class Test { 
      propA;
      propB;
      propC;

   getSomeKeys() : keyof Test[] {
     return ['propA', 'propC']
   }
 }
javascript typescript
2个回答
6
投票

你需要将keyof Test包装在括号中:

 class Test { 
   //...
   getSomeKeys() : (keyof Test)[] {
     return ['propA', 'propC']
   }
 }

但请注意,在这种情况下,keyof还包括getSomeKeys。


3
投票

使用Array<keyof Test>

class Test {
    propA;
    propB;
    propC;

    getSomeKeys(): Array<keyof Test> {
        return ['propC'];
    }
}

demo

© www.soinside.com 2019 - 2024. All rights reserved.