码迷,mamicode.com
首页 > Web开发 > 详细

js 原型链

时间:2020-07-14 10:37:49      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:field   另一个   log   等价   OLE   val   属性   console   对象   

前言

  • 原型链初步
    一个对象a会有一个__proto__属性指向另一个对象b, 当然, 如果这个对象b不为null, 那么它还会指向另一个对象c, 如此一来就形成了一条"原型链".
a.__proto__ => b, b.__proto__ => c, c.__proto__ => d, d === null

什么是__proto__呢?

  • 对象
    对象由new一个Function实例, 或者通过直接对象值({ field: value })来产生, 后者等价于直接new Object.
({}).__proto__ === Object.prototype
// true

Code

        class B {
            constructor() {
                this.b = ‘bbb‘;
            }
        }
        class A extends B {
            constructor() {
                super();
                this.a = ‘aaa‘;
            }
        }
        let a = new A();
        console.log(a.__proto__ === A.prototype); // true
        console.log(a.__proto__.__proto__ === Object.prototype); // false
        console.log(a.__proto__.__proto__.__proto__ === Object.prototype); // true
        let b = new B();
        console.log(b.__proto__ === B.prototype); // true
        console.log(b.__proto__.__proto__ === Object.prototype); // true

END

js 原型链

标签:field   另一个   log   等价   OLE   val   属性   console   对象   

原文地址:https://www.cnblogs.com/develon/p/13297639.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!