気の向くままに辿るIT/ICT/IoT
JavaScript

JavaScript / Objectオブジェクト

ホーム前へ次へ
ECMAScriptベースのJavaScriptとは?

JavaScript / Objectオブジェクト

ECMA-262 Edition 5.1 / ECMAScriptベースのJavaScript文法

ECMAScript / ECMA-262 Edition 5.1ベースのJavaScript文法

プロトタイプベースのオブジェクト指向

オブジェクト指向 / オブジェクトと種類

Objectオブジェクト

 Objectは、オブジェクト用のオブジェクトです。

 obj1 = new Object ( ) ; 

 obj2 = new Object ( "ECMA-262" ) ; 

 obj3 = Object ( 'Edition 5.1' ) ; 

 Objectオブジェクトは、new 演算子を伴うコンストラクタとしての呼び出しの場合、インスタンスであるオブジェクトの生成・初期化(インスタンス化)を実行し、( new 演算子を伴わない)関数としての呼び出しの場合、型変換を実行します。

 Objectコンストラクタは、内部的には、標準組み込みFunctionプロトタイプオブジェクトとして設定されることになっています。

Objectオブジェクトのプロパティ

 Objectオブジェクトの組み込みプロパティは、下記の通りです。

Objectオブジェクトの組み込みプロパティ
Object.length 一般的な引数の数で値は、1。
Object.getPrototypeOf ( ) 引数を1つ取り、引数であるオブジェクトのプロトタイプを返すメソッド。
 引数がオブジェクトではない場合、TypeError例外を throw 。
Object.getOwnPropertyDescriptor ( ) 引数を2つ取り、オブジェクトである第1引数における第2引数で指定したプロパティ名の詳細を検査し、内容を返すメソッド。
 JavaScriptのプロパティは文字列の名称とプロパティ記述子から成り、プロパティには、データプロパティ(value/writable/configurable/enumerable)とアクセサプロパティ(get/set)の2種類があり、後者は何れか一方であるものとして指定される。
Object.getOwnPropertyNames ( ) 引数を1つ取り、引数であるオブジェクト上で見つかったプロパティと一致する文字列を要素として持つ配列を返すメソッド。
Object.create ( ) 引数を1つ(または、2つ)取り、新たに生成したオブジェクトのプロトタイプとすべきオブジェクトを引数に取り、新たなオブジェクトを生成するメソッド。
 オブションとして第2引数に新たに生成したオブジェクトのプロパティ記述子を指定することも可。
Object.defineProperty ( ) 引数を3つ取り、任意のオブジェクト上に新たに定義、または、既存のプロパティを編集し、そのオブジェクトを返すメソッド。
 第1引数は、定義するオブジェクト、第2引数は、定義または、編集するプロパティの名称、第3引数は、定義または、編集するプロパティにおける記述子。
Object.defineProperties ( ) 引数を2つ取り、任意のオブジェクト上に新たに定義、または、既存の該当する全てのプロパティを編集し、そのオブジェクトを返すメソッド。
 第1引数は、定義または、編集するプロパティがあるオブジェクト、第2引数は、定義または、編集するプロパティにおいて記述子を構成する自身の列挙プロパティを持つオブジェクト。
Object.seal ( ) 引数を1つ取り、指定したオブジェクトを密閉するメソッド。
 新たなプロパティの追加を抑止し、全ての既存のプロパティを構成不可能なものとしてマーキングする。
 但し、プロパティの値は、書き込み可能であるものとして、まだ変更可能。
Object.freeze ( ) 引数を1つ取り、引数で指定したオブジェクトを凍結するメソッド。
 新たなプロパティの追加、既存のプロパティの削除、プロパティ値、列挙可能とする属性、構成可能とする属性、書き込み可能とする属性の変更等、全ての更新を抑止。
Object.preventExtensions ( ) 引数を1つ取り、引数のオブジェクトが、永遠に新たなプロパティを追加出来ないよう抑止するメソッド。
Object.isSealed ( ) 引数を1つ取り、引数のオブジェクトが密閉(Object.seal)状態か否かを示すtrue/falseのBoolean値を返すメソッド。
Object.isFrozen ( ) 引数を1つ取り、引数のオブジェクトが凍結(Object.freeze)状態か否かを示すtrue/falseのBoolean値を返すメソッド。
Object.isExtensible ( ) 引数を1つ取り、引数のオブジェクトが拡張可能(新たなプロパティを追加可能)か否かを示すtrue/falseのBoolean値を返すメソッド。
Object.keys ( ) 引数は1つ、結果として返される列挙するプロパティを持つオブジェクトを引数に取り(、プロトタイプチェーン内で for...in ループする列挙プロパティとは異なり)、 for...in ループによって提供されるものと同じ順で、引数として与えられたオブジェクト上で見つかった全ての列挙プロパティから成る配列を返すメソッド。
Object.prototype 初期値は、標準組み込みObjectプロトタイプオブジェクト。

Object.prototypeのプロパティ

 Object.prototypeオブジェクトの組み込みプロパティは、下記の通りです。

Object.prototypeの標準組み込みプロパティ
Object.prototype.constructor インスタンスを生成する関数を返す。
 既定は、標準組み込みObjectコンストラクタ。
Object.prototype.hasOwnProperty ( ) 引数で指定したオブジェクトが、プロトタイプチェーンを介した継承ではなく、当該オブジェクトの直接的なプロパティとして引数で指定したプロパティを含むか否かを示すブーリアン(ブール)値を返す。
Object.prototype.isPrototypeOf ( ) 引数で指定したオブジェクトが、このメソッドが呼ばれる際にオブジェクトのプロトタイプチェーン内に存在するか否かを示すブーリアン(ブール)値を返す。
Object.prototype.propertyIsEnumerable ( ) ECMAScript の DontEnum 属性(第3版で定義された内部属性で、for-inで列挙されないようにする指定)が設定されているか否かを示すブーリアン(ブール)値を返す。
Object.prototype.toLocaleString ( ) toString を呼ぶ。
 使用するか否かに関わらず、toLocaleString は、全てのオブジェクトに提供される。
 5.1版では、Array、Number、Dateについては、ロケール依存。
Object.prototype.toString ( ) 引数で指定したオブジェクトを示す文字列を返す。
 [ オブジェクト 内部クラス名 ]
Object.prototype.valueOf ( ) 引数で指定した元のオブジェクトであるかのように元のオブジェクト、または、他のオブジェクトとしてプリミティブ(原始的な)値を返す。
 結果は、実装定義。

ECMA-262 Edition 5.1 訳 / 当該仕様ページ例

ECMAScriptベースのJavaScriptリファレンス

ホーム前へ次へ