__proto__|__proto__, prototype, constructor
- 我们需要牢记两点:①proto和constructor属性是对象所独有的;② prototype属性是函数所独有的,因为函数也是一种对象,所以函数也拥有proto和constructor属性。
- proto属性的作用就是当访问一个对象的属性时,如果该对象内部不存在这个属性,那么就会去它的proto属性所指向的那个对象(父对象)里找,一直找,直到proto属性的终点null,再往上找就相当于在null上取值,会报错。通过proto属性将对象连接起来的这条链路即我们所谓的原型链。
- prototype属性的作用就是让该函数所实例化的对象们都可以找到公用的属性和方法,即f1.proto === Foo.prototype。
- constructor属性的含义就是指向该对象的构造函数,所有函数(此时看成对象了)最终的构造函数都指向Function。
推荐阅读
- Swift中熟悉的陌生人(Protocol(一))
- 一篇博文搞定goctl(V1.3.0新版本解决goctl|一篇博文搞定goctl:V1.3.0新版本解决goctl rpc protoc的问题)
- 如何理解es6中的class,以及class中的constructor函数
- iOS推送,两个重要方法
- Netty|Netty 示例6 集成Protobuf
- JS深挖(prototype、__proto__|JS深挖:prototype、__proto__ 和 Object.getPrototypeOf的区别)
- protobuf编码详解
- 获取平均数之Function.prototype.call()、Function.prototype.apply()应用
- 造了一个|造了一个 protoc-gen-fieldmask 插件
- Go - 如何编写 ProtoBuf 插件 (三) ()