謎などと大袈裟な事を書きましたが、どうしても定義が見つからなかった構文があったのです。以下のオブジェクトのメンバ宣言です。何処かにあるはずなのですが、見つかりません。
オブジェクトのメンバ宣言をするときに以下の例ようにしてSettingとGettingを簡単に宣言し、利用方法も簡単になります。
- function MyObject() {
- }
- MyObject.prototype = {
- get id() {
- return this._id;
- },
- set id(x) {
- this._id = x;
- },
- }
- function myCode() {
- myObject = new MyObject();
- myObject.id = 3;
- alert('id is ' + myObject.id);
- }
この便利な点はメンバ変数とそのset getが羅列するだけで簡単に宣言できる点です。また、下のtest()のように簡単にメンバ変数への代入と呼び出しができます。ただし、上の関数を使えるのは一度だけのようです。同じオブジェクトに追加宣言はできず、追加できるのはメソッドのMyObject.prototype.methodNameだけのようです。
ストレステストはしていませんが、上記のサンプルコード程度ならFirfox 3.6.3でも動作しました。
ECMAScriptにおける「オブジェクトリテラル」と言う書式では、配列を拡張してオブジェクトを宣言できます。
- myObject = {
- myVar: -- numbers,
- myVar: '-- words',
- myFunc: function() {
- -- definition
- }
- }
<最初にもどる> <pre>
0 件のコメント:
コメントを投稿