欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js手动实现new方法

程序员文章站 2022-06-09 17:03:03
...

new

  1. 新生成了一个对象
  2. 新对象隐式原型链接到函数原型
  3. 调用函数绑定this
  4. 返回新对象

核心代码:

function _new(fun) {
  return function() {
    let obj = {
      __proto__: fun.prototype
    }
    fun.apply(obj, arguments)
    return obj
  }
}

测试用例:

function person(name, age) {
  this.name = name
  this.age = age
}
let obj = _new(person)('LL', 100)
console.log(obj) //{name: 'LL', age: 100}

 

相关标签: JS new