原型在平时工作中用得比较少, 但原型是 JavaScript 中的基础, 是构建大型应用, 框架不可或缺的一环, 是你在写代码时, 不知不觉就应用上了的一个最基础的知识....原型链
原型链是 JavaScript 作者为了继承而设计的, 由上边的分析, const foo = new Foo() 语句, 其实是产生了一个链条的, 如下:
?...我们在 new 出 foo 对象后, 并没有给 foo 对象添加任何方法, 但我们依然能从 foo 对象中调用 toString(), hasOwnProperty() 等方法. 这是为什么呢?...在设计之初, __proto__ 就是用来查找属性和方法的, 从上图的链条来看, 我们在 foo 这个对象中, 查找 toString 方法, 没找到, 就循着 foo...._proto__, 这个时候值为 null, 查找结束.
这就是原型链, 我们也可以说, Foo 继承了 Object, 所以 foo 中能访问到 Object 的原型属性.