prototype.jsは読み込まないけど、Class.create()構文が使いたい場合、以上のようなコードを書いてやれば使えるようになる。
今回は継承もできるようにしてみた。
// Class.createを可能にするための仕掛け var Class = {create:function(proto, protoAppend){ var klass = function(){ if (this,arguments.length==1 && this,arguments[0] == "base_class") { return; } this.initialize && this.initialize.apply(this,arguments); } klass.prototype = proto; for (i in protoAppend) { klass.prototype[i] = protoAppend[i]; } return klass; }}; // 親クラスを定義 var Animal = Class.create({ initialize: function(){ WScript.echo('init animal'); }, action: function(){WScript.echo('animal!');} }); // 継承したクラスを定義 var Dog = Class.create(new Animal("base_class"), { initialize: function(){ WScript.echo('init dog'); }, action: function(){ WScript.echo('bow'); } }); var Cat = Class.create(new Animal("base_class"), { initialize: function(){ // super.initialize Animal.prototype.initialize.apply(this, arguments); WScript.echo('init cat'); }, action: function(){ WScript.echo('nya'); } }); // テスト実行 a = new Animal(); a.action(); d = new Dog(); d.action(); c = new Cat(); c.action();