Tôi vừa mới nhận ra rằng thực sự có thể thay đổi nguyên mẫu đối tượng trong V8 / node. Mặc dù điều này không có trong tiêu chuẩn nhưng có thể thực hiện được trong nhiều trình duyệt khác nhau và đặc biệt là trong V8 / node!
Hàmfunction 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!');
Điều này được sử dụng trên tất cả các mô-đun và plugin khác nhau - ngay cả các mô-đun cốt lõi cũng sử dụng kỹ thuật này, mặc dù nó không phải là tiêu chuẩn ECMAScript. Vì vậy, tôi đoán sẽ an toàn khi sử dụng trong node.js.