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

JavaScript オブジェクトと種類

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

JavaScript オブジェクトと種類

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

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

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

オブジェクト指向

オブジェクトの種類

 JavaScriptは、メソッドを含むプロパティの集合であるオブジェクトを中心とし、プロトタイプによる拡張機能を持ったWeb用のプロトタイプベースのオブジェクト指向スクリプトです。

 ECMAScript 5.1ベースのJavaScriptのオブジェクトの種類は、これだけあり、例えば、Functionオブジェクトは、関数、Mathは数学・科学関係、RegExpは正規表現、JSON(JavaScript Object Notaition / JavaScriptオブジェクト表記)は、データ変換書式オブジェクトです。

 Globalオブジェクト、Mathオブジェクト、JSONオブジェクト以外の各オブジェクトには、それ自身もプロパティを持つプロパティであり、オブジェクトである prototypeプロパティ、Globalオブジェクトを含む全てのオブジェクトにはメソッドを含むプロパティがあります。

 いわゆる標準組み込みメソッド(関数)は、各オブジェクトの、または、各オブジェクトの prototype オブジェクトのプロパティとして保持しています。

プロパティ記述子

 JavaScriptには、メソッドではない静的な値を持つデータ記述子と(用語としてはさして重要ではない) getter/setter としての関数のペアを持つアクセサ記述子というプロパティ記述子があります。

アクセサプロパティとデータプロパティ

 JavaScriptでは、プロパティとして持つ関数をメソッドと呼びますが、メソッドは、 getset というアクセサ記述子を持つプロパティであり、これをアクセサプロパティと呼びます。

アクセサプロパティが持つアクセサ記述子
アクセサ
記述子
概要既定値
getプロパティにおける getter として提供する関数、 getter が存在しない場合、undefinedundefined (未定義値)
setプロパティにおける setter として提供する関数、 setter が存在しない場合、undefinedundefined (未定義値)

 また、以下のデータ記述子を持つプロパティをデータプロパティと呼びます。

データプロパティが持つデータ記述子
データ
記述子
概要既定値
valueプロパティの値undefined (未定義値)
writable書き込み可能属性 true/false、値が、変更される可能性のあるプロパティと関連付けられた場合にtruefalse
configurable構成可能属性 true/false、このプロパティ記述子が変更される可能性がある場合、または、該当オブジェクトから削除される可能性がある場合にtruefalse
enumerable列挙可能属性 true/false、このプロパティが、該当するオブジェクト上のプロパティを列挙中に現れる場合にtruefalse

 尚、アクセサ記述子は、アクセサプロパティの、データ記述子は、データプロパティの属性(アトリビュート・attribute)です。

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

ECMAScript / ECMA-262 Edition 5.1 日本語訳

ECMAScript / ECMA-262 第 5.1 版 訳

ホーム前へ次へ