Objectとobjectと{}
Object
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などのプリミティブ型、非プリミティブ型)の値を割り当てられる
{}
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
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より導入された
参考