SOURCE

Object.prototype.new = function(...rest) {
    const contructor = this
    const obj = new Object()
    contructor.apply(obj, rest)
    obj.__proto__ = this.prototype

    return obj
}

function Person(name, age) {
    this.name = name
    this.age = age
}

Person.prototype.getName = function() {
    return this.name
}

const p = Person.new('kity', 18)

console.log(p.__proto__ === Person.prototype)
console.log(p.getName())
console.log(p instanceof Person)
console 命令行工具 X clear

                    
>
console