原型和New
new
js 中提供了构造函数创建对象,其实构造函数只是一个简单的函数,它唯一的标志就是使用了 new 关键词
使用 new 关键字调用的就是构造函数。通过构造函数我们可以创建一个对象,其依赖的底层还是通过原型链进行实现
new 做了什么事情
- 首先创建一个空的对象
- 将原型对象指向构造函数的原型
- 指向构造函数代码
- 返回新对象
接下来我们说说特别的
我们可以简单分析一下查看一下 new 出来的最终结果
proto 指向构造函数的原型
获取原型的方式
- __proto__ 属性
- 通过构造函数的 prototype 属性
const demo = new Demo()
demo.__proto__ === Demo.Property
property 原型对象
new 实现
const mynew =(Obj,....args)=>{
let tem={}
tem.__proto__ = Obj.Property; //连接原型
Obj.call(tem,...args); //修改this指向当前新对象
return tem;
}
原型
原型是JS中的一种内部机制,每个对象都有一个隐式的[[Prototype]]属性,这个属性指向的对象,即该对象的原型,其主要作用有以下