JavaScriptmozilla1.9.2 mozilla/js/src/xpconnect/loader/XPCOMUtils.jsm こんなやつ。 obj.__defineGetter__(name, function(){ delete this[name]; return this[name] = /* 値の生成処理 */; }); 注意:以降の記述で物語・作品・登場人物に関する核心部分が明かされています。 →プロパティをgetterにしておいて、呼ばれたらgetter削除して、実際の値に置き換えて返す。Javaっぽく変数に入れて、二回目以降の呼び出しもチェックしたりしなくていい。