继承内置类和类的混入

继承内置类 Array是本身拥有的类

 1 class NewArray extends Array {
 2     firstItem() {
 3         return this[0]
 4     }
 5     lastItem() {
 6         return this[this.length - 1]
 7     }
 8 }
 9 var arr1 = new NewArray(1, 2, 3)
10 console.log(arr1.firstItem());
11 console.log(arr1.lastItem());

 

 类的混入:在一个类添加很多相似功能

 1 function mixineater(BaseClass) {
 2     return class extends BaseClass {
 3         eating() {
 4             console.log('eating');
 5         }
 6     }
 7 }
 8 
 9 function mixinrunner(BaseClass) {
10     return class extends BaseClass {
11         running() {
12             console.log('runnning');
13         }
14     }
15 }
16 class Person {
17 
18 }
19 class NewPerson extends mixineater(mixinrunner(Person)) {
20 
21 }
22 var newp = new NewPerson()
23 newp.running()
24 newp.eating()

 

posted @ 2022-03-23 09:39  沁霓  阅读(34)  评论(0)    收藏  举报