开发者问题收集

在 TypeScript 中访问对象的子项

2015-12-01
5329

我尝试在 TypeScript 中访问对象的子对象。

因此 object1 是 Object 的子对象。当我控制台记录 Object(父对象)时,我清楚地看到了属性“Children”。如果我展开 Children,我会看到 Object1。

enter image description here

通常在 JavaScript 中,我会执行类似

var child = Object.children[0];

但是,当我在 TypeScript 中执行此操作时,它会给出语法错误

error TS2339: Property 'children' does not exist on type 'DisplayObject'.

在 TS 中还有其他方法吗?

编辑

示例代码:

  this.game.world.children.forEach(function(child){
        var constructorString: string = child.constructor.toString();
        var className: string = constructorString.match(/\w+/g)[1];
        if(className=='AcheivmentButton'){
          for(var i=0; i<child.children.length; i++)
            children.push(child.children[i]);
        }
      })
1个回答

Is there a different way to do it in TS?

不。这只是您使用的对象的定义存在差异。

最快的方法是简单地使用断言:

var child = (Object as any).children[0];

更多

basarat
2015-12-01