继承与静态继承

来源:5-21 【TS继承源码】逐行深剖,手写TS继承JS源码-3

乔刻力

2021-10-14

如果场景既要父类方法继承又要静态方法继承的前提下 ,代码 得写成以下方式嘛?
使用setPrototypeOf继承

//作为普通继承,对ChinesePeople.prototype.__proto__属性设置为 People.prototype
Object.setPrototypeOf(ChinesePeople.prototype, People.prototype)
//获得People所有静态属性和静态方法
Object.setPrototypeOf(ChinesePeople, People)
写回答

1回答

keviny79

2021-10-14

正确,但要注意的是 普通继承 Object.setPrototypeOf 可以,但最好用 寄生组合式继承,就是用中间Middle 对象,因为  Object.setPrototypeOf  从本质上来说是也是__proto__来实现继承,好处就是能快速搭建父子继承,但不足是:使用__proto__来改变带来不好的问题!有哪些不好,参见问答区标题为<<关于Middle的问题>>这个同学的提问,老师给的详细解答!答案很长,老师就不重复拷贝了



0
0

晋级TypeScript高手,成为抢手的前端开发人才

轻松驾驭 TypeScript 高级用法, 突破前端成长瓶颈

871 学习 · 425 问题

查看课程