TypeScriptにおけるインターフェースのオプションプロパティ

インターフェースでは、特別なオプショナル(省略可能)プロパティを設定することもできます。 これらは、オブジェクトを特定のプロパティセットに限定しないようにするために必要です。 その際、インターフェースに含まれないプロパティの使用は禁止されます。 オプショナルプロパティは、プロパティ名の後に記述される演算子?を使用して設定されます。

全ての図形オブジェクトにプロパティを設定するインターフェースIFigureを作成してみましょう。 colorをオプショナルプロパティとします:

typescriptinterface IFigure {
  height: number;
  width: number;
  color?: string;
}

次に、オブジェクトrectangleを作成し、その色の値をコンソールに出力しましょう:

typescriptlet rectangle: IFigure = {
  height: 200,
  width: 300,
  color: 'red'
}

console.log(rectangle.color); // 'red'

それでは、オブジェクトで色を指定しなかった場合にエラーが発生するか確認してみましょう:

typescriptlet rectangle: IFigure = {
  height: 200,
  width: 300
}

console.log(rectangle.color);

エラーは発生せず、単に色が未定義であるというメッセージがコンソールに出力されます:

typescriptundefined
Задание 1

日付(年、月、日)を格納するオブジェクトのインターフェースIDateを作成してください。 オブジェクトのすべてのプロパティを省略可能にします。