Tengo una definición de clase de TypeScript que comienza así;Uso de la matriz con tipo de 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];
}
Parece que una matriz de tipo Thing no se traduce correctamente al tipo de matriz Javascript correspondiente. Este es un fragmento del JavaScript generado:
function Person(name) {
this._name = name;
this._possessions = new Entities.Thing[100]();
}
ejecución de código que contiene un objeto de persona, una excepción al intentar inicializar el campo _possession:
Error is "0x800a138f - Microsoft JScript runtime error: Unable to get value of the property '100': object is null or undefined".
Si cambio del tipo de _possession a any[]
e inicializa _possession con la excepción new Array()
no se lanza. ¿Me he perdido algo?
no arregla la longitud, sino que debe preasignar la matriz – Sebastian
por qué no puede hacer 'poses privadas _: cosa []: []; 'en la definición de clase? – SuperUberDuper