僕が付けていきます。
- var FileClass = Class.create( /* 略 */, {
- getName : function(){
- return 'name-' + this.id;
- }
- } );
- var f1 = new FileClass();
- f1.id = 'A';
- var f2 = new FileClass();
- f2.id = 'B';
- if( f1.getName === f2.getName ) // 異なるインスタンス間でも公開メソッドが一致。
- f1.getName() // name-A でもなんだか意図した動作
- f2.getName() // name-B でもなんだか意図した動作
function を見てもどのインスタンスか?分からないので、this を特定できるようにする仕掛けが必要。こんな感じに。
同じく動的言語。
* system.js 内のコードは機能毎に js シングルトンパターンで書かれている。 * 最速インターフェース研究会:JavaScriptのデザインパターン - Singleton, http://la.ma.la/blog/diary_200508141140.htm
myFile.name() の中身は、