ECMAScript *1 において、プロパティとは名前と値のペアを意味します。 より詳しく言うと、名前が付けられたプロパティは、その状態を表す属性 (Property Attribute) *2 の集合を値として持っています。 ECMA-262 5th edition では、この属性の値を指定してプロパティを定義できるように、Object.defineProperty というメソッドが導入されました。 この記事では、Object.defineProperty メソッドを使い、属性を指定してプロパティを定義する方法を説明します。 なお、ECMA-262 5th edition を実装している JavaScript 処理系はまだ多くありません。 Firefox 4 などの一部のブラウザなどでしか実行できません。 また、サンプルコード中で、結果を出力するための print 関数を使用しています