TypeScriptにおけるインターフェースのオプションプロパティ
インターフェースでは、特別なオプショナル(省略可能)プロパティを設定することもできます。
これらは、オブジェクトを特定のプロパティセットに限定しないようにするために必要です。
その際、インターフェースに含まれないプロパティの使用は禁止されます。
オプショナルプロパティは、プロパティ名の後に記述される演算子?を使用して設定されます。
全ての図形オブジェクトにプロパティを設定するインターフェースIFigureを作成してみましょう。
colorをオプショナルプロパティとします:
interface IFigure {
height: number;
width: number;
color?: string;
}
次に、オブジェクトrectangleを作成し、その色の値をコンソールに出力しましょう:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
それでは、オブジェクトで色を指定しなかった場合にエラーが発生するか確認してみましょう:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
エラーは発生せず、単に色が未定義であるというメッセージがコンソールに出力されます:
undefined
日付(年、月、日)を格納するオブジェクトのインターフェースIDateを作成してください。
オブジェクトのすべてのプロパティを省略可能にします。