J'ai une définition de classe TypeScript qui commence comme ceci ;
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];
}
Il semble qu'un tableau de type Thing ne soit pas traduit correctement dans le type de tableau Javascript correspondant. Voici un extrait du JavaScript généré :
function Person(name) {
this._name = name;
this._possessions = new Entities.Thing[100]();
}
L'exécution de code contenant un objet Personne, lève une exception lors de la tentative d'initialisation du champ _possession :
L'erreur est "0x800a138f - Microsoft JScript runtime error : Unable to get value of the property '100' : object is null or undefined".
Si je change le type de _possession en any[]
et initialiser _possession avec new Array()
n'est pas déclenchée. Ai-je manqué quelque chose ?