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];
}
On dirait qu'un tableau de type Thing n'est pas traduit correctement en type de tableau Javascript correspondant. Voici un extrait du code JavaScript généré:
function Person(name) {
this._name = name;
this._possessions = new Entities.Thing[100]();
}
Exécution de code contenant un objet Person, lève une exception lors de la tentative d'initialisation du champ _possession:
L'erreur est «0x800a138f - Erreur d'exécution Microsoft JScript: impossible d'obtenir la valeur de la propriété« 100 »: l'objet est nul ou non défini».
Si je change le type de _possession any[] et initialise _possession avec une new Array()exception, il n'est pas lancé. Ai-je oublié quelque chose?