다음과 같이 시작하는 TypeScript 클래스 정의가 있습니다.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];
}
유형의 배열 모양은 해당 Javascript 배열 유형으로 올바르게 변환되지 않습니다. 내가 any[]
에 _possession의 종류를 변경하는 경우
Error is "0x800a138f - Microsoft JScript runtime error: Unable to get value of the property '100': object is null or undefined".
다음 _possession 필드를 초기화하는 시도 예외를 발생,
function Person(name) {
this._name = name;
this._possessions = new Entities.Thing[100]();
}
Person 객체가 포함 된 코드 실행이 생성 된 자바 스크립트에서 미리보기입니다 new Array()
예외로 _possession을 초기화하지 않습니다. 내가 뭐 놓친 거 없니?
길이를 수정하지 않고 배열을 미리 할당해야합니다 – Sebastian
왜 private_possessions를 할 수 없습니까? Thing [] : []; '클래스 정의에서? – SuperUberDuper