このように始まるTypeScriptクラス定義があります。
module Entities {
export class Person {
private _name: string;
private _possessions: Thing[];
private _mostPrecious: Thing;
constructor (name: string) {
this._name = name;
this._possessions = new Thing[100];
}
タイプThingの配列は、対応するJavascript配列タイプに正しく変換されないようです。これは、生成されたJavaScriptのスニペットです。
function Person(name) {
this._name = name;
this._possessions = new Entities.Thing[100]();
}
Personオブジェクトを含むコードを実行し、_possessionフィールドを初期化しようとすると例外をスローします。
エラーは "0x800a138f-Microsoft JScriptランタイムエラー:プロパティ '100'の値を取得できません:オブジェクトがnullまたは未定義です"です。
_possessionのタイプをに変更し、例外any[]
付きで_possessionを初期化すると、new Array()
スローされません。私は何か見落としてますか?