博客
关于我
对于类的构造函数的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/

你可能感兴趣的文章
net core 环境部署的坑
查看>>
NET Framework安装失败的麻烦
查看>>
Net 应用程序如何在32位操作系统下申请超过2G的内存
查看>>
Net.Framework概述
查看>>
NET3.0+中使软件发出声音[整理篇]<转>
查看>>
net::err_aborted 错误码 404
查看>>
NetApp凭借领先的混合云数据与服务把握数字化转型机遇
查看>>
NetAssist网络调试工具使用指南 (附NetAssist工具包)
查看>>
Netbeans 8.1启动参数配置
查看>>
NetBeans IDE8.0需要JDK1.7及以上版本
查看>>
NetBeans之JSP开发环境的搭建...
查看>>
NetBeans之改变难看的JSP脚本标签的背景色...
查看>>
netbeans生成的maven工程没有web.xml文件 如何新建
查看>>
netcat的端口转发功能的实现
查看>>
NetCore 上传,断点续传,可支持流上传
查看>>
Netcraft报告: let's encrypt和Comodo发布成千上万的网络钓鱼证书
查看>>
Netem功能
查看>>
netfilter应用场景
查看>>
Netflix:当你按下“播放”的时候发生了什么?
查看>>
Netflix推荐系统:从评分预测到消费者法则
查看>>