__proto______ 指向所属类的原型 浏览器中 (1).__proto________打印下
prototype 所有类都有一个prototype属性
constructor prototype.constructor 每个类的原型上都有这个属性
继承: 继承公共属性 继承实例上的属性
1 | // 每个类上都有constructor 放置实例上的属性 |
1 | class Animal{ |
有时候要定义个原型上的属性 Animal.prototype.a = 1;
1 | class Animal{ |
静态属性
1 | class Animal{ |
静态方法
1 | class Animal{ |
类之间的继承
1 | // 现在我希望Tiger继承Animal中的constructor实例上的属性和原型上的方法(say) |
打印结果:
1 | // __proto__ 指向所属类的原型 |
将类之间继承的代码 粘贴 => 打开babeljs.io => Try it out => 将内容复制进去 右边显示的就是转换成的es5代码 => 复制到新文件test.js中 => 在把代码格式化下如下:
1 | // test.js |
刚才看了内部实现 这里面 Tiger.__proto__ = Animal
静态方法、属性在es6中也会被子类继承
1 | class Animal{ |
当new的时候传参
1 | // 当new的时候传参 |