首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JS中new操作符做了什么?

JS中new操作符做了什么?

作者头像
马克社区
发布2022-07-09 19:32:04
1.5K0
发布2022-07-09 19:32:04
举报
文章被收录于专栏:高端IT高端IT

1.new操作符做了什么

new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。new 关键字会进行如下的操作: 创建一个空的简单JavaScript对象(即{}); 链接该对象(即设置该对象的构造函数)到另一个对象 ; 将步骤1新创建的对象作为this的上下文 ; 如果该函数没有返回对象,则返回this。 2.简单实现

function create(Con, …args){ // 创建一个空的对象 let obj = Object.create(null); // 将空对象指向构造函数的原型链 Object.setPrototypeOf(obj, Con.prototype); // obj绑定到构造函数上,便可以访问构造函数中的属性,即obj.Con(args) let result = Con.apply(obj, args); // 如果返回的result是一个对象则返回 // new方法失效,否则返回obj return result instanceof Object ? result : obj; }

// 测试 function company(name, address) { this.name = name; this.address = address; }

var company1 = create(company, ‘yideng’, ‘beijing’); console.log('company1: ', company1);

更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/120020124

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档