Tengo una definición de clase de TypeScript que comienza así;
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];
}
Parece que una matriz de tipo Thing no se traduce correctamente al tipo de matriz de Javascript correspondiente. Este es un fragmento del JavaScript generado:
function Person(name) {
this._name = name;
this._possessions = new Entities.Thing[100]();
}
Al ejecutar un código que contiene un objeto Person, lanza una excepción al intentar inicializar el campo _possession:
El error es "0x800a138f - Error de tiempo de ejecución de Microsoft JScript: no se puede obtener el valor de la propiedad '100': el objeto es nulo o no está definido".
Si cambio el tipo de _possession any[]
ay inicializo _possession con new Array()
excepción, no se lanza. ¿Me he perdido algo?