オブジェクト型のオプションプロパティ (optional property)
TypeScriptで、オブジェクトプロパティのオプショナルさを型付けするには、プロパティ名の後ろに?を書きます。
tsletsize : {width ?: number };
tsletsize : {width ?: number };
オプションプロパティを持ったオブジェクト型には、そのオプションプロパティを持たないオブジェクトを代入できます。
tssize = {}; // OK
tssize = {}; // OK
また、オプションプロパティの値がundefinedのオブジェクトも代入できます。
tssize = {width :undefined }; // OK
tssize = {width :undefined }; // OK
しかし、オプションプロパティの値がnullの場合は代入できません。
tsType 'null' is not assignable to type 'number | undefined'.2322Type 'null' is not assignable to type 'number | undefined'.size = {: null }; width
tsType 'null' is not assignable to type 'number | undefined'.2322Type 'null' is not assignable to type 'number | undefined'.size = {: null }; width