javascript 的类,原型,继承的理解

Posted 牛顿的小脑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 的类,原型,继承的理解相关的知识,希望对你有一定的参考价值。

原文: https://www.cnblogs.com/codernie/p/9098184.html

--------------------------------------------------------------------------------

1.类的prototype是什么?
   在javascript中,每当我们定义一个构造函数,Javascript引擎就会自动为这个类中添加一个prototype(也被称作原型)
  2.对象的 proto 是什么?
   在Javascript中,每当我们使用new创建一个对象时,Javascript引擎就会自动为这个对象中添加一个__proto__属性,并让其指向其类的prototype

// 代码3.2
function Human(name) {
    this.name = name
}
console.log(Human.prototype)
var person_test1 = new Human(\'Test1\')
var person_test2 = new Human(\'Test2\')
console.log(person_test1.__proto__)
console.log(person_test2.__proto__)
console.log(Human.prototype === person_test1.__proto__) // true
console.log(Human.prototype === person_test2.__proto__) // true

我们会发现Human.prototype是一个对象,Human类的实例化对象person_test1、person_test2下都有一个属性__proto__也是对象,并且它们都等于Human.prototype,我们知道在Javascript中引用类型的相等意味着他们所指向的是同一个对象。所以我们可以得到结论,任何一个实例化对象的__proto__属性都指向其类的prototype

以上是关于javascript 的类,原型,继承的理解的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript深入理解

深入理解JavaScript系列:强大的原型和原型链

JavaScript 原型链

JavaScript 原型链

javascript原型的理解

javascript 深入理解 继承(转)