为了账号安全,请及时绑定邮箱和手机立即绑定

expressjs 源码 为什么用mixin拓展app, 而不是像下面用Object.create

expressjs 源码 为什么用mixin拓展app, 而不是像下面用Object.create

一只名叫tom的猫 2019-03-05 13:15:03
function createApplication() {  var app = function(req, res, next) {    app.handle(req, res, next);  };  mixin(app, EventEmitter.prototype, false);  mixin(app, proto, false);  // expose the prototype that will get set on requests  app.request = Object.create(req, {    app: { configurable: true, enumerable: true, writable: true, value: app }  })  // expose the prototype that will get set on responses  app.response = Object.create(res, {    app: { configurable: true, enumerable: true, writable: true, value: app }  })  app.init();  return app;}代码Github页面地址点击这里
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

mixin不会改变目标对象的原型,会在原有对象基础上增加(或者说混入)新的属性,而Object.create是创建一个指定原型和若干属性的对象。


查看完整回答
反对 回复 2019-03-16
  • 1 回答
  • 0 关注
  • 500 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信