私は最近、V8/ノードでオブジェクトのプロトタイプを実際に変更できることに気づきました。これは標準ではありませんが、さまざまなブラウザ、特にV8 /ノードで可能です!
function User(username, email) {
this.username = username;
this.email = email;
}
User.prototype.sendMail = function (subject, text) {
mailer.send(this.email, subject, text);
};
var o = {username: 'LoadeFromMongoDB', email: '[email protected]'};
o.__proto__ = User.prototype;
o.sendMail('Hello, MongoDB User!', 'You where loaded from MongoDB, but inherit from User nevertheless! Congratulations!');
これは、さまざまなモジュールやプラグイン全体で使用されます。ECMAScript標準ではありませんが、コアモジュールでもこの手法を使用します。したがって、node.js内で安全に使用できると思います。