ts重点学习128-混入笔记

// 对象混入
// let nameObj = {name: "王楚然"};
// let ageObj = {age: 18};
// // 需求:想让nameObj也拥有 age这个属性
// Object.assign(nameObj, ageObj);
// console.log(nameObj);
// console.log(ageObj);
// 类混入
class Name {
name: string = "毛晓彤";
getName():void {
console.log("我是毛晓彤");
}
}
class Age {
age: number = 18;
getAge():void {
console.log("我今年18岁了");
}
}
// class Person extends Name, Age {}
class Person implements Name, Age {
name: string;
age: number;
getAge: () => void;
getName: () => void;
}
function Mixins(target: any, from: any[]) {
from.forEach(item => {
Object.getOwnPropertyNames(item.prototype).forEach(name => {
target.prototype[name] = item.prototype[name]
})
})
}
Mixins(Person, [Name, Age])
let p = new Person()
p.getAge()
p.getName()

posted @   前端导师歌谣  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示