前言
见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正.---------- 长文 + 多图预警,需要花费一定时间 ----------
故事是从一次实际需求中开始的...
某天,某人向我寻求了一次帮助,要协助写一个日期工具类,要求:
此类继承自 Date,拥有 Date 的所有属性和对象
此类可以自由拓展方法
形象点描述,就是要求可以这样:
于是,随手用 JS 中经典的组合寄生法写了一个继承,然后,刚准备完美收工,一运行,却出现了以下的情景:
// 假设最终的类是 MyDate,有一个getTest拓展方法
let date = new MyDate();
// 调用Date的方法,输出GMT绝对毫秒数
console.log(date.getTime());
// 调用拓展的方法,随便输出什么,譬如helloworld!
console.log(date.getTest());
但是的心情是这样的:
来源: https://www.cnblogs.com/dailc/p/8287415.html