ECMAScriptオブジェクトの型

ECMAScript では、すべてのオブジェクトが同等に作成されるわけではありません。

一般的には、作成および使用できるオブジェクトは3種類あります:ローカルオブジェクト、インボートオブジェクト、ホストオブジェクト。

ローカルオブジェクト

ECMA-262 はローカルオブジェクト(ネイティブオブジェクト)を「ホスト環境に独立した ECMAScript 実装が提供するオブジェクト」と定義しています。簡単に言えば、ローカルオブジェクトは ECMA-262 が定義するクラス(参照型)です。これには:

  • Object
  • Function
  • Array
  • String
  • Boolean
  • Number
  • Date
  • RegExp
  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

関連ページ

JavaScript 高級チュートリアル:ECMAScriptリファレンス型

JavaScript 高級チュートリアル:ECMAScript Function クラス

JavaScript リファレンスマニュアル:Array オブジェクト

JavaScript リファレンスマニュアル:Boolean オブジェクト

JavaScript リファレンスマニュアル:Date オブジェクト

JavaScript リファレンスマニュアル:Number オブジェクト

JavaScript リファレンスマニュアル:String オブジェクト

JavaScript リファレンスマニュアル:RegExp オブジェクト

組み込みオブジェクト

ECMA-262 では、組み込みオブジェクト(ビルドインオブジェクト)を「ECMAScript 実装によって提供され、ホスト環境に依存しないすべてのオブジェクト、ECMAScript プログラムの実行開始時に存在する」と定義しています。これは、開発者が組み込みオブジェクトを明示的にインスタンス化する必要がないことを意味しており、それが既にインスタンス化されていることを示しています。ECMA-262 では、2つの組み込みオブジェクト、GlobalおよびMath(それらもローカルオブジェクトであり、定義に従って、すべての組み込みオブジェクトはローカルオブジェクトであるとされています)が定義されています。

関連ページ

JavaScript リファレンスマニュアル:グローバルオブジェクト

JavaScript リファレンスマニュアル:Math オブジェクト

ホストオブジェクト

すべての非ローカルオブジェクトはホストオブジェクト(ホストオブジェクト)であり、ECMAScript 実装のホスト環境によって提供されるオブジェクトです。

すべての BOM と DOM オブジェクトはホストオブジェクトです。

関連ページ

JavaScript 高級チュートリアル:JavaScriptの実装

CodeW3C.com リファレンスマニュアル:JavaScript リファレンスマニュアル

CodeW3C.com チュートリアル:HTML DOM チュートリアル