博客
关于我
对于类的构造函数的this.XXX=XXX写起来麻烦,使用proxy来偷懒
阅读量:669 次
发布时间:2019-03-15

本文共 936 字,大约阅读时间需要 3 分钟。

//创建用户类class User {    //对于写个给太麻烦了    // constructor(firstName,lastName,age) {    //     this.firstName=firstName;    //     this.lastName=lastName;    //     this.age=age;    // }}/** * 直接对构造函数进行代理 * @param Class 对象 * @param propNames 对应构造函数的参数 * @returns {any} * @constructor */function ConstructorProxy(Class, ...propNames) {    return new Proxy(Class, {        construct(target, argumentsList) {            const obj = Reflect.construct(target, argumentsList)            propNames.forEach((name, i) => {                obj[name] = argumentsList[i];            })            return obj;        }    })}const UserProxy = ConstructorProxy(User, "firstName", "lastName", "age")console.log(UserProxy)const obj = new UserProxy("w", "q", 18);console.log(obj)//创建Monster类class Monster {}const MonsterProxy = ConstructorProxy(Monster, "attack", "defence", "hp", "rate", "name")const m = new MonsterProxy(10, 20, 100, 30, "怪物")console.log(m);

 

 

 

转载地址:http://rsamz.baihongyu.com/

你可能感兴趣的文章
Mysql学习总结(37)——Mysql Limit 分页查询优化
查看>>
Mysql学习总结(38)——21条MySql性能优化经验
查看>>
Mysql学习总结(39)——49条MySql语句优化技巧
查看>>
Mysql学习总结(41)——MySql数据库基本语句再体会
查看>>
Mysql学习总结(42)——MySql常用脚本大全
查看>>
Mysql学习总结(43)——MySQL主从复制详细配置
查看>>
Mysql学习总结(45)——Mysql视图和事务
查看>>
Mysql学习总结(4)——MySql基础知识、存储引擎与常用数据类型
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(79)——MySQL常用函数总结
查看>>
Mysql学习总结(7)——MySql索引原理与使用大全
查看>>
Mysql学习总结(80)——统计数据库的总记录数和库中各个表的数据量
查看>>
Mysql学习总结(82)——MySQL逻辑删除与数据库唯一性约束如何解决?
查看>>
Mysql学习总结(83)——常用的几种分布式锁:ZK分布式锁、Redis分布式锁、数据库分布式锁、基于JDK的分布式锁方案对比总结
查看>>
Mysql学习总结(84)—— Mysql的主从复制延迟问题总结
查看>>
mysql安装和启动命令小结
查看>>