ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

new操作符的手动实现

new操作符的手动实现
function myNew(constructor, ...args) {
​  const obj = Object.create(constructor.prototype);// 创建一个新对象并链接到构造函数的原型​const result = constructor.apply(obj, args);// 将构造函数的 this 指向新对象并执行构造函数​return result instanceof Object ? result : obj;// 确保构造函数返回一个对象,如果没有则返回新对象​
}​​
function Person(name) {​this.name = name;
​}​​
const person1 = myNew(Person, 'Alice');​
console.log(person1.name); // 输出 "Alice"
返回列表