読み方 : オブジェクトがた
Object型【Object type】オブジェクト型
Object型とは?
JavaScriptのObject型
JavaScriptでは、プリミティブ型以外のあらゆる値がオブジェクトとして扱われ、配列や関数もObject型の一種である。キーと値のペアを自由に組み合わせた汎用的なデータ構造としても広く使われており、「{ name: "田中", age: 30 }」のようなオブジェクトリテラルで手軽に生成できる。このリテラル記法をそのままデータ記述言語としたものを「JSON」(JavaScript Object Notation)と呼び、他言語も含めWeb APIを通じたデータのやり取りなどで多用される。
JavaなどのObjectクラス
JavaやC#では、利用者が独自に定義したクラスも含め、すべてのクラスが暗黙的にObjectクラスを継承する構造になっている。これにより、型が異なる複数のオブジェクトを同一の変数やコレクションにまとめて格納できる。メソッドの引数をObject型にすると、種類の異なるオブジェクトを共通に受け取れるため、汎用的な処理を実装しやすくなる。
Object型として扱われた値を元の型で利用するには、明示的な型変換(キャスト)が必要になる場合が多い。Javaであれば「(String) obj」のように記述して元の型へ戻す。実際の型と一致しないキャストを行うと実行時例外が発生するため、instanceof演算子などで型を事前に確認するのが一般的な作法である。
Object型を多用すると型安全性が低下し、コンパイル時に型の誤りを検出しづらくなる。古いプログラミング環境では異なる型のデータを一つの配列に格納する目的でよく使われていたが、実行時エラーの原因になりやすい。現在ではジェネリクスを使い、格納できる型を事前に限定することで柔軟性と安全性を両立させる設計とすることが多い。
