js 原型链
2021-01-21 06:13
标签:field 另一个 log 等价 OLE val 属性 console 对象 什么是__proto__呢? js 原型链 标签:field 另一个 log 等价 OLE val 属性 console 对象 原文地址:https://www.cnblogs.com/develon/p/13297639.html前言
一个对象a会有一个__proto__属性指向另一个对象b, 当然, 如果这个对象b不为null, 那么它还会指向另一个对象c, 如此一来就形成了一条"原型链".a.__proto__ => b, b.__proto__ => c, c.__proto__ => d, d === null
对象由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 字符串转换成数字