私はjavascriptライブラリ(具体的にはpixi.js)を使用しており、typescriptでそれらのクラスの1つを拡張しようとしています。ただし、以下のようにクラスを拡張しようとするとエラーが発生します。
module tilesystem {
declare var PIXI;
// Class
export class Tilegrid PIXI.DisplayObjectContainer
{
public layers : number= layers;
public rows : number= rows;
public columns : number = columns;
public tilesize : number = tilesize;
// Constructor
constructor(layers, columns, rows, tilesize, stage, texture)
{
super( );
//implementation
}
}
//Tilegrid.constructor = Tilegrid;
Tilegrid.prototype = Object.create(PIXI.DisplayObjectContainer.prototype);
}
エラー :
基本型 'any' には実装がありません。
醜いJavaScriptの方法で拡張するだけで問題ありませんが、それでもそれがスーパーメソッドであることを知らないと文句を言うでしょう。
module tilesystem {
declare var PIXI;
// Class
export class Tilegrid
{
public layers : number= layers;
public rows : number= rows;
public columns : number = columns;
public tilesize : number = tilesize;
// Constructor
constructor(layers, columns, rows, tilesize, stage, texture)
{
**PIXI.DisplayObjectContainer.call(this);**
*this.addChild( new Tile() );* //throws an error, because addChild is not known
}
}
**Tilegrid.prototype = Object.create(PIXI.DisplayObjectContainer.prototype);**
}
TypeScript でネイティブ JavaScript 配列を拡張する方法 この anwser がインターフェイスの使用を提案していることは知っていますが、ラッパーの記述を防止したいと考えています。スーパーメソッドを使用するときにエラーを抑制するか、javascript クラスから何らかの形で型情報を取得する方法を見つけたいと思います。