原型是JS实现继承的方式
语言层面实现: JS对象中实现了一个原型的属性
原型本身也是一个对象, 所以原型自己也有原型, 所以就形成了原型与原型链
原型链终止于以null为原型的对象上
在一般浏览器中实现形式为__proto__ 获取一个对象的原型用Object.getPrototypeof()
const myDate =new Date()
let object = mtDate;
do {
object = Object.getGrototype(object)
console.log(object)
} while(object)
// Date.prototype
// Object {}
// null
我们不断地获取原型链上的原型, 输出, 发现是这样的内容
即
Date.prototype
Object.prototype
null
用图说话