Animal.tsでTypeScriptを使用して次のクラス定義を想定します。
module Animals
{
export class Animal { }
}
別のファイルにDogクラスを作成する場合は、次のコードを使用してDog.tsで言います。
module Animals
{
export class Dog extends Animal { }
}
「Animal」という名前は現在のスコープに存在しません。これは、クラス定義Dogで発生するエラーです。
Dog.tsに次の行を追加します
/// <reference path="Animal.ts"/>
コンパイルエラーを修正しますが、両方のクラスが同じモジュール内で定義されている場合、なぜこれが必要なのですか?
言い換えると、モジュール宣言がファイル全体に広がり、各クラスまたはインターフェイス定義が独自のファイルに含まれている必要があります。これもベストプラクティスですか?