1.判断‘变量’属于哪个class或者是哪个构造函数
要判断的 instanceof 函数或者是类
会返回true或者false
2.什么是原型?
在JavaScript中的class实际上是函数,JavaScript是基于原型的语言。只是写法是class的写法,原型的本质是一个对象。
2.1.隐式原型
_proto_
隐式原型:每个实例都有隐式原型
2.2.显式原型
Prototype
显式原型:每个class都有显示原型
2.3.显式原型和隐式原型的关系
实例的_proto_
隐式原型都指向对应class的Prototype
显式原型
当我们想获取什么获取不到了。就去这个实例中_proto_
隐式原型指向的对应class的Prototype
显式原型中去寻找,这就是原型的作用。
3.什么是原型链?
当你想找的东西,形成了一条长长的链,这个由_proto_
隐式原型指向的对应class的Prototype
显式原型的结构,就是原型链。
Object
对象的原型prototype
为null
这个查询的路径就是原型链。
鸡生蛋还是蛋生鸡的问题就被解决了。
你也可以使用hasOwnProperty
来验证,你某个属性是不是自己的属性。
网友评论