У мене є визначення класу 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];
}
Схоже, масив типу Thing неправильно перекладається у відповідний тип масиву Javascript. Це фрагмент згенерованого JavaScript:
function Person(name) {
this._name = name;
this._possessions = new Entities.Thing[100]();
}
Виконуючи код, що містить об'єкт Person, видаліть виняток при спробі ініціалізувати поле _possession:
Помилка: "0x800a138f - Помилка виконання Microsoft JScript: Неможливо отримати значення властивості" 100 ": об'єкт нульовий або невизначений".
Якщо я зміню тип _possession на any[]
та ініціалізую _possession, за new Array()
винятком, не викидається. Я щось пропустив?