#author("2019-10-09T15:32:42+09:00","default:ryuichi","ryuichi")
#author("2019-10-09T15:35:47+09:00","default:ryuichi","ryuichi")
* Objectとobjectと{} [#r864d671]

** Object [#f7fe56b7]


 const example1: Object = undefined;  // OK
 const example2: Object = NaN;        // OK
 const example3: Object = null;       // OK
 const example4: Object = {};         // OK
 const example5: Object = 1;          // OK
 const example6: Object = new Date(); // OK

- すべての型(数値・文字列・null・undefinedなどのプリミティブ型、非プリミティブ型)の値を割り当てられる


** {} [#p1a48698]

 const example1: {} = undefined;  // OK
 const example2: {} = NaN;        // OK
 const example3: {} = null;       // OK
 const example4: {} = {};         // OK
 const example5: {} = 1;          // OK
 const example6: {} = new Date(); // OK

- 空のオブジェクト。Objectと同じ

** object [#he56ac14]

 const example1: object = undefined;  // OK
 const example2: object = NaN;        // エラー
 const example3: object = null;       // OK
 const example4: object = {};         // OK
 const example5: object = 1;          // エラー
 const example6: object = new Date(); // OK

 let o1: object = {};
 let o2: {[key: string]: string} = {};
 let o3: {} = {};
 o1 = o2;  // OK
 o2 = o1;  // エラー({[key: string]: string}型はobject型より詳細な型だからエラーになる)
 o2 = o3;  // OK


- objectはTypeScript2.2より導入された

** 参考 [#vfcb2176]
- https://stackoverflow.com/questions/49464634/difference-between-object-and-in-typescript
- https://mariusschulz.com/blog/the-object-type-in-typescript

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS