Mam definicję klasy TypeScript, która zaczyna się w ten sposób;
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];
}
Wygląda na to, że tablica typu Thing nie jest poprawnie tłumaczona na odpowiedni typ tablicy JavaScript. Oto fragment wygenerowanego kodu JavaScript:
function Person(name) {
this._name = name;
this._possessions = new Entities.Thing[100]();
}
Wykonując kod zawierający obiekt Person, zgłoś wyjątek podczas próby zainicjowania pola _possession:
Błąd to „0x800a138f - błąd środowiska wykonawczego Microsoft JScript: nie można pobrać wartości właściwości„ 100 ”: obiekt jest pusty lub niezdefiniowany”.
Jeśli zmienię typ _possession na any[] i zainicjalizuję _possession z new Array()wyjątkiem nie jest wyrzucany. Przegapiłem coś?