JavaScript手写new方法

2020-04-08  本文已影响0人  六寸光阴丶

手写new方法

创建一个新对象,通过apply或call等方法将this绑定到新对象上。

1. 源码

function _new(ctx, ...arg) {
  let obj = {}
  obj.__proto__ = ctx.prototype
  ctx.apply(obj, arg)
  return obj
}

2. 测试

function Bar(_name, _age) {
  this.name = _name
  this.age = _age;
}
let b = _new(Bar, 'name', 20)
console.log(b)
上一篇下一篇

猜你喜欢

热点阅读