Typescript 如何从通过对象键的for循环创建类属性?

Typescript 如何从通过对象键的for循环创建类属性?,typescript,Typescript,我想创建一个类,该类的属性由遍历对象键的for循环生成,如下所示: e、 g.我想创建: // Result I'm hoping for.. class MyClass { public earth = 'element' public fire = 'element' public wind = 'element' } // What I'm trying to do.. let object = { earth: 'stone', fire: 'flame

我想创建一个类,该类的属性由遍历对象键的for循环生成,如下所示:

e、 g.我想创建:

// Result I'm hoping for..
class MyClass {
  public earth = 'element'
  public fire = 'element'
  public wind = 'element'
}

// What I'm trying to do..
let object = {
     earth: 'stone',
     fire: 'flame',
     wind:  'air'
}

class MyClass {
   constructor(object) {
       for (let key in object) { 
         console.log(key);
         this.${key} = 'element';
       }
   }
}

let dynamicPropClass = new MyClass(object);   

如何基于循环中的对象键名称创建类属性

为了允许类上的动态属性,您需要定义如下索引签名:

class MyClass {
   [key: string]: any;

   constructor(object) {
       for (let key in object) {          
         this[key] = 'element';
       }
   }
}

为了允许类上的动态属性,您需要定义如下索引签名:

class MyClass {
   [key: string]: any;

   constructor(object) {
       for (let key in object) {          
         this[key] = 'element';
       }
   }
}

谢谢你!:)@Jonathan002不客气!:)如果这回答了您的问题,您能将答案标记为已接受吗?是的,它不允许我再标记为正确。谢谢!:)@Jonathan002不客气!:)如果这回答了你的问题,你能将答案标记为已接受吗?是的,它不允许我再标记一分钟。