[[Object (JavaScript)|Object]]の型と[[object型 (TypeScript)|object型]]の違い。
> [!caution]
> [[オブジェクト型 (TypeScript)|オブジェクト型]]とはそれぞれ意味が異なるので注意。
| | [[Object (JavaScript)\|Object]]の型 | [[object型 (TypeScript)\|object型]] |
| ----------------------------------- | ----------------------------------- | ----------------------------------- |
| [[JavaScript]] | サポート | **未サポート** |
| [[TypeScript]] | サポート | サポート |
| プリミティブ型の代入 | 可 | **不可** |
| [[配列型 (TypeScript)\|配列]]の代入 | 可 | 可 |
| オブジェクトの代入 | 可 | 可 |
| 関数の代入 | 可 | 可 |
| null, undefinedの代入 | 不可 | 不可 |
```ts
let smallObject: object;
smallObject = 1 // error
smallObject = "hoge" // error
smallObject = ["hoge"]
smallObject = {key: "value"}
smallObject = (x: any) => x
smallObject = undefined // error
smallObject = null // error
let largeObject: Object;
largeObject = 1
largeObject = "hoge"
largeObject = ["hoge"]
largeObject = {key: "value"}
largeObject = (x: any) => x
largeObject = undefined // error
largeObject = null // error
```